Heinz KabutzさんのJava Specialistニュースレターのエディションでこれを見ましたが、Kabutz博士の記事の残りの部分(そして確かにすべて)は十分に説明されていますが、このコードは、それは意義がある何、もっと重要なのは何をやって、またはされていますJava:ネストされた同期ブロック
public class SomeObject {
private Object lock1;
private Object lock2;
public void doSomething() {
synchronized(lock1) {
synchronized(lock2) {
// ...
}
}
}
}
ブロックをネストの意味合いは何ですか?これは、doSomething()
にしようとする別のスレッドにどのように影響しますか?
このシナリオでは、すべてのスレッドは、内部ロックのスレッドによって解放されるまで、外部ロックでブロックされます。 –
投稿したsnippitは何もしません。 'lock2'を持つことができる唯一のスレッドは' lock1'を持つスレッドです。コードの残りの部分とそのロックが使われていることがわからなければ、答えることは不可能です。 –
あなたはどの記事を読んでいましたか? – Jeffrey