当一个线程进入一个对象的一个synchronized方法后 其它线程是否可进入此对象的其它方法?
当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?
参考解答
分几种情况:
1.其他方法前是否加了synchronized关键字,如果没加,则能。
2.如果这个方法内部调用了wait,则可以进入其他synchronized方法。
3.如果其他个方法都加了synchronized关键字,并且内部没有调用wait,则不能。
4.如果其他方法是static,它用的同步锁是当前类的字节码,与非静态的方法不能同步,因为非静态的方法用的是this。
相似问题
启动一个线程是用run()还是start()? .
启动一个线程是用run()还是start()?
线程的基本概念 线程的基本状态以及状态之间的关系是什么?
线程的基本概念、线程的基本状态以及状态之间的关系是什么?
同步和异步有何异同 在什么情况下分别使用他们?
同步和异步有何异同,在什么情况下分别使用他们?
什么时候用assert?
什么时候用assert?
两个对象值相同(x.equals(y) == true) 但却可有不同的hash code 这句话对
两个对象值相同(x equals(y) == true),但却可有不同的hash code,这句话对不对?
