次の呼び出しが再入可能かどうか教えてください。
public class Foo {
public synchronized void doSomething() {}
public synchronized void doAnotherSomething() {}
}
public class Too {
private Foo foo;
public synchronized void doToo() {
foo.doSomething();
//...other thread interfere here....
foo.doAnotherSomething();
}
}
doToo()
メソッドの再入可能での2つの連続呼び出しはありますか? foo.doSomething()
メソッドが固有のロックを取得して解放し、2 つの呼び出しの間にネストされた同期がないため、このケースについてはわかりません。2 つの呼び出しの間に他のスレッドが干渉する状況はありますか?