次のコードはどうなりますか?同期は機能しますか?これはインタビューの質問です。Javaで同期変数を再割り当てするとどうなりますか?
class T
{
public static void main(String args[])
{
Object myObject = new Object();
synchronized (myObject)
{
myObject = new Object();
} // end sync
}
}
同期ブロックがメインにあり、ループ内ではなく、一度だけ実行されます。ここで同期のポイントはありません(別のメインからメインを呼び出す場合を除き、これは変です)。 – assylias