1 つのスレッドがループ内の変数の変更を待っている状況に興味があります。while
while (myFlag == false) {
// do smth
}
それは無限に繰り返されています。
その間、別のスレッドがこの変数の値を変更しました:
myFlag = true;
この変数が揮発性でない場合、リーダースレッドは他のスレッドで変数の値を変更した結果を見ることができますか? 一般的に、私が理解しているように、それは決して起こりません。それとも私が間違っていますか?では、いつ、どのような状況で、最初のスレッドが変数の変更を確認してループを終了できるのでしょうか? volatile
これはキーワードを使用せずに可能ですか? この状況では、プロセッサのキャッシュのサイズが影響しますか?
説明して理解を助けてください!前もって感謝します!!