synchronized 与 static synchronized 区别 以及synchronized块

1、当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法? 

分几种情况:

     1)其他方法前是否加了synchronized关键字,如果没加,则能。

     2)如果这个方法内部调用了wait,则可以进入其他synchronized方法。

     3)如果其他个方法都加了synchronized关键字,并且内部没调用wait,则不能。

    4)如果其他方法是static,它用的同步锁是当前类的字节码,与非静态的方法不能同步,因为非静态的方法用的是this。

更新中……

猜你喜欢

转载自linwenan.iteye.com/blog/2216035