synchronized有两个作用
1、 获得某个实例对象的锁,从而使得其他线程绝对不可以再得到此对象的锁。(当然,正如我们所说的,锁是不会锁代码的。所以,如果是非synchronized方法,仍然是可以通过此对象来调用的)。
2、 对于synchronized锁包围的“代码所访问到的变量”在进入,或者离开这块区域时,会强制private working copy—main memory一致化数据。
synchronized有两个作用
1、 获得某个实例对象的锁,从而使得其他线程绝对不可以再得到此对象的锁。(当然,正如我们所说的,锁是不会锁代码的。所以,如果是非synchronized方法,仍然是可以通过此对象来调用的)。
2、 对于synchronized锁包围的“代码所访问到的变量”在进入,或者离开这块区域时,会强制private working copy—main memory一致化数据。