Hoc*_*ock 5 c++ multithreading sleep while-loop conditional-statements
在一个多线程的C++程序中,我在一个线程中运行相当于这个:
while(obj->member) { } // waiting for obj->member to be set to false in another thread
Run Code Online (Sandbox Code Playgroud)
在另一个线程中,obj-> member设置为false.但是,即使将其设置为false,循环也不会中断.如果我改成它:
while(obj->member) { Sleep(1) }
Run Code Online (Sandbox Code Playgroud)
当obj-> member在另一个线程中设置为false时,它按预期工作并中断.
它为什么这样工作?
归档时间: |
|
查看次数: |
2315 次 |
最近记录: |