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

Java-面试王 Java面经 发布时间:2021-09-07 11:05:33 阅读数:12730 1
今天面试时,被问到这个问题,当一个线程进入synchronized方法后,其它线程是否可以访问其它方法呢?
下面将列举常见的几种情况,如下所示:
 如果其它方法前加了synchronized关键字,则其它线程不能访问此方法,如果没有加,则能访问此方法

 当这个方法内部调用了wait,则可以进入其他synchronized方法
 当其他个方法都加了synchronized关键字,当前方法内部未调用wait,则其它线程不能访问此方法

 当其他方法是static,则其使用的同步锁是当前类的字节码,与非静态的方法不能同步,因为非静态的方法用的是this 
 两者互不影响
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaMianJing/202109/16309840051066.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者