可以进入其他非synchronized的方法,synchronized的方法不可以的! Java中的每个对象都有一个锁(lock)或者叫做监视器(monitor),当访问某个对象的synchronized 方法时,表示的将该对象上锁,此时其他任何线程都无法再去访问该synchronized方法了,直到之前的 那个线程执行方法完毕后(或者是抛出了异常),才将该对象的锁释放掉,其他线程才有可能再去访问该 synchronized方法。 如果一个对象有多个synchronized方法,某一时刻某个线程已经进入到了某个synchronized方法, 那么在该方法没有执行完毕前,其他线程是无法访问该对象的任何synchronized方法的。
当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?...
本文详细解释了Java中synchronized方法的工作原理。一个对象上的synchronized方法会在被调用时锁定该对象,阻止其他线程同时访问同一对象的synchronized方法,直至当前线程完成方法执行并释放锁。

被折叠的 条评论
为什么被折叠?



