我是java并发的新手,我知道实例方法同步意味着一次只有一个线程可以执行该方法。但是这个东西依赖于monitor对象吗?如果监视器对象不同,2个线程可以同时执行相同的同步实例方法吗?或者这是不可能的?谢谢!
如果实例方法被声明为
synchronized
,这意味着它在 this
上隐式同步,因此根据定义,受监视的对象将是相同的,并且在给定时间只有一个线程可以执行该方法。
如果该方法未声明为
synchronized
,而是使用显式 synchronized
块,则仅使用相同的监视器对象将阻止并发执行。如果两个线程使用不同的监视器对象,它们可以并发执行。