次のような値割り当てコマンドの直後に興味があります。
a = 5;
新しい値が変数に格納されているという保証はありますか? そして、これがプリミティブと他のデータ型で異なる場合は? 特に Runnable オブジェクトの場合。
以下を含む MyClass でメソッドを実行しました。
synchronized(this){
while(pleaseWait){
try { System.out.println("sleeping"); wait();}
catch (Exception e) { e.printStackTrace(); }
}
}
次を含むメソッド sleepMe() を呼び出している他のクラスです。
synchronized (myclass){
myclass.pleaseWait = true;
myclass.notify();
}
問題は、sleepMe を呼び出した後に待機を挿入する必要があるので、MyClass のインスタンスが myclass.pleaseWait の値を変更する時間があるかどうかです。
複雑なオブジェクト (オブジェクトのオブジェクト) を MyClass のインスタンスに割り当てるいくつかのセット メソッドがあります。
ありがとう