线程进来一个对象的一个 synchronized 方法后
线程进入一个对象的一个 synchronized 方法后java面试题 写道64 、当一个线程进入一个对象的一个 synchroni
线程进入一个对象的一个 synchronized 方法后
java面试题 写道64 、当一个线程进入一个对象的一个 synchronized 方法后,其它线程是否可进入此对象的其它方法 ?
答: 不能,一个对象的一个synchronized方法只能由一个线程访问。
?关于这个问题的准确性,或者不同的情况网上有人做过测试。
个人觉得应该这么回答:
my answer 写道1.咬文嚼字->“进入对象的synchronized 方法”->说明这个同步方法不是static的。
2.synchronized等价与synchronized(this),受保护的方法或代码块不是自身在保护而是一个锁(在这里,这个锁就是对象本身),锁不仅仅可以保护这一个synchronized 方法。在这里的情况:线程进入方法后拥有了这个锁,就是阻塞了其他线程访问 锁所保护全部方法(代码块)。
所以答案是:可以访问其他非synchronized方法,而不能访问这个对象的synchronized 方法
?应该对吧?欢迎指正