Ben*_*ole 2 java concurrency locking
我对Java的并发性比较陌生(还没有阅读JCIP,但它在我的列表中!)我有一个关于锁定行为的问题.具体来说,Java是锁定对象的引用还是对象本身?
代码示例(不是sscce,因为我不知道如何在实践中演示这种行为):
static final Object lockA = new Object();
public void method1() {
synchronized(lockA) {
// do stuff here
}
}
public void method2() {
Object lockB = lockA;
synchronized(lockB) {
// do stuff
}
}
Run Code Online (Sandbox Code Playgroud)
如果另一个线程正在执行method1()(因此锁定lockA),是否method2()允许执行?
谢谢!