スレッドが 2 つしかなく、一方のスレッドが他方のスレッドが特定のポイントに到達するまで待機する場合、次のようにしても安全ですか。
bool wait = true;
//Thread 1:
while(wait) ;
wait = true; //re-arm the signal
//Thread 2:
/* Preform here the code that needs to complete before Thread 1 continues */
wait = false;
基本的に、一方のスレッドが書き込みのみ、もう一方のスレッドが読み取りのみの場合、問題が発生する可能性はありますか? シングルの読み取りまたは書き込みbool
はアトミックであると想定しています。そうでない場合でも、ここでどのように違いが生じるかわかりません。