假设有以下代码:
class MyClass {
synchronized void myMethod1() {
//code
}
synchronized void myMethod2() {
//code
}
}
现在假设myMethod1()
并myMethod2()
访问不同的数据;现在如果有两个线程,线程 A 只调用myMethod1()
,线程 B 只调用myMethod2()
。
如果线程 A 正在执行,即使线程 B 不访问相同的数据并且没有理由这样做myMethod1()
,线程 B 也会阻塞等待吗?myMethod2()
据我所知,同步方法this
对实例方法使用对象的监视器,MyClass.class
对静态函数使用对象的监视器。