我在 Heinz Kabutz 的Java 专家时事通讯版本之一中看到了这一点,尽管 Kabutz 博士的其余(实际上是所有)文章解释得很好且详细,但他似乎掩盖了这段代码的作用,或者更重要的是,它的意义在于:
public class SomeObject {
private Object lock1;
private Object lock2;
public void doSomething() {
synchronized(lock1) {
synchronized(lock2) {
// ...
}
}
}
}
嵌套synchronized
块的含义是什么?这对尝试的不同线程有何影响doSomething()
?