当一个线程进入一个对象的 synchronized 方法 A 之后,其它线程是否可进入 此对象的 synchronized 方法 B?
时间: 2023-06-20 18:07:36 浏览: 155
线程同步对象方法
5星 · 资源好评率100%
当一个线程进入一个对象的 synchronized 方法A之后,其它线程无法进入此对象的任何 synchronized 方法,包括方法B。因为在Java中,每个对象都有一个监视器(monitor)和一个等待队列,同一时刻只能有一个线程持有这个对象的监视器,当一个线程进入一个 synchronized 方法时,它会获取这个对象的监视器,其他线程就无法获取这个对象的监视器,也就无法进入该对象的任何 synchronized 方法了。只有当持有监视器的线程退出 synchronized 方法时,其他线程才有机会获取监视器,进入 synchronized 方法。
阅读全文