我对Java的并发性比较陌生(还没有阅读JCIP,但它在我的列表中!),并且我有一个关于锁定行为的问题。具体来说,Java是否锁定对象的引用或对象本身?Java同步/锁定
代码示例(不是SSCCE,因为我不知道如何来演示在实践中,这种行为):如果另一个线程执行method1()
static final Object lockA = new Object();
public void method1() {
synchronized(lockA) {
// do stuff here
}
}
public void method2() {
Object lockB = lockA;
synchronized(lockB) {
// do stuff
}
}
(因此对lockA
锁),将method2()
被允许执行?
谢谢!
太棒了,谢谢! – BenCole