多线程同步和死锁
在多线程编程中,有可能会出现同时访问同一个资源的情况,这种资源可以是各种类型的的资源:一个变量、一个对象、一个文件、一个数据库表等,而当多个线程同时访问同一个资源的时候,就会存在一个问题...则会有可能出现数据错误, 如下图
?...线程同步
可以用线程同步的方式解决上面的数据异常方法,有三种方法,分别为同步代码块,同步方法 ,Lock
当线程遇到同步代码块或者同步方法的时候,会先判断同步锁(一个对象)是否存在,如果存在,则会将同步锁加到这个线程上...同步代码块
synchronized(对象锁){
线程要操作的共享数据
}
synchronized...通过输入输出来演示等待和唤醒
有两个线程 input线程的作用是输入数据到对象,output作用是从对象中输出数据, 然后要求一次输入一次输出
**基本过程**
- 输入:赋值后,执行方法wait