第二章 独占
子类和父类公用同一个锁
锁操作基于每线程,而不是每调用
一般来说,允许一个synchronized方法在不释放锁得情况下直接调用需要同一个锁得另一个synchronized方法。
线程顺序化访问资源,避免死锁。
并发编程中不仅可以有多条语句交叉执行,而且还可以打乱顺序执行,或者被优化的面目全非再执行。
Volatile仅仅是同步,无锁。仅仅具有线程可见性,不具有原子性。
把一个引用成员生命为volatile并不能保证成员变量锁引用的非volatile数据可见性,同样的,把一个数组成员变量声明为
volatile也不能保证数组元素的可见性。
(收起)