05_线程同步
引入:两人同时取同一账户的钱 两个线程访问同一资源,进程之间协调的问题
解决:在进程访问独占资源时先锁定再访问 synchronized 最好只锁定一个对象
加锁过程中:一个方法做了同步(加锁)另一个方法没有做同步,别的线程可以访问没做同步的方法,并且能影响已经同步的方法,要保护需要的同步的对象,必须对要访问的对象所有方法要仔细考虑加不加同步,加同步效率变低,不加同步有可能产生数据不一致的后果
读写两方法,写的方法加锁。
两个方法都改了同一个值,两个方法都应该加同步
![](http://hi.csdn.net/attachment/201202/19/0_132963252810tX.gif)
t2,你是第1个使用timer的线程
t1,你是第2个使用timer的线程
改掉其中一段代码
就可以输出:
t1,你是第1个使用timer的线程
t2,你是第2个使用timer的线程