黑马程序员技术交流社区
标题: 当一个线程进入一个对象的一个synchronized方法后 [打印本页]
作者: 丹霞似锦 时间: 2016-7-28 07:32
标题: 当一个线程进入一个对象的一个synchronized方法后
当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?
1、其他方法前是否加了synchronized关键字,如果没加,则能。(因为线程同步)
2、如果这个方法内部调用了wait,则可以进入其他synchronized方法。
(wait方法,是释放锁对象的。所以调用了wait方法后,其他线程就可以进入带synchronized的方法)
3、如果其他方法都加了synchronized关键字,并且内部没有调用wait,则不能。(线程同步,并且没有释放锁对象)
4、如果其他方法是static, static静态方法的锁对象是当前类的字节码,而同步方法的锁对象是this, 不是同一个锁,所以其他线程是可以进入static静态方法的
| 欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |