同じオブジェクトで 2 回同期すると、Java で奇妙な動作が発生するかどうか疑問に思っていましたか?
シナリオは次のとおりです
pulbic class SillyClassName {
object moo;
...
public void method1(){
synchronized(moo)
{
....
method2();
....
}
}
public void method2(){
synchronized(moo)
{
doStuff();
}
}
}
どちらのメソッドもオブジェクトを使用し、同期されます。ロックされているため、最初のメソッドによって呼び出されたときに 2 番目のメソッドが停止しますか?
同じスレッドなのでそうは思いませんが、他に奇妙な結果が生じる可能性があるかどうかはわかりません.