この例のクラスを考えると:
class Example {
String str = "";
public synchronized boolean foo () { str = "foo"; }
public boolean bar() { str = "bar"; }
public synchronized boolean baz() { str = "baz"; }
}
この投稿から、どのスレッドでもbarメソッドを呼び出すことができることは明らかです。スレッドT1が実行中foo()とスレッドT2呼び出しの途中にあるとしますbar()。ロックを取得してもbar()再割り当てできますか? が実行中なのにによって呼び出された場合、同じ質問はどうですか?strfoobazT2T2foo