如果我只有两个线程,并且我希望其中一个等待另一个达到某个点,那么执行以下操作是否安全:
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
是原子的,即使不是,我也看不出它在这里有何不同。