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

IT互联网 已帮助: 时间:2025-07-11 04:23:23

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

难度:⭐⭐⭐

题库:IT/互联网,软件开发

标签:线程,对象,方法

参考解答

用户头像

456***144

2025-07-11 04:23:23

分几种情况:

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

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

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

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


上一篇 启动一个线程是用run()还是start()? .

下一篇 多线程有几种实现方法?同步有几种实现方法?

相似问题