java synchronized关键字详解(二)

2014-11-24 07:25:44 · 作者: · 浏览: 1
nd>>>>>>>>>>>>>
f-start---------------
f_end>>>>>>>>>>>>>>>>
f-start---------------
f_end>>>>>>>>>>>>>>>>
g-start-----------
g_end>>>>>>>>>>>>>
f-start---------------
f_end>>>>>>>>>>>>>>>>
g-start-----------
g_end>>>>>>>>>>>>>
f-start---------------
f_end>>>>>>>>>>>>>>>>
g-start-----------
g_end>>>>>>>>>>>>>
g-start-----------
g_end>>>>>>>>>>>>>
g-start-----------
g_end>>>>>>>>>>>>>
g-start-----------
g_end>>>>>>>>>>>>>
g-start-----------
g_end>>>>>>>>>>>>>


三、总结

1,每个对象都有一个锁,基本类型数据不能用来同步

2,谈到同步,首先要明确是在哪个对象上同步,只有两个线程在同一个对象上同步时,同步才会起效果

3,Class锁和类实例锁是不一样的,static被加锁时,如果非static方法不是在Class上同步,则其他没有获取Class锁的线程仍可以访问该方法。