读书人

请问:多线程代码结果不稳定的有关问题

发布时间: 2013-10-27 15:21:50 作者: rapoo

请教:多线程代码结果不稳定的问题
怎么解释下面这个代码,得到的结果不稳定,有的时候是30,有的时候是50,谢谢。
执行的时候发现,创建的6个线程中有的时候会有3个、4个或5个卡在了while(!g_start);这句了。把它换成while(!g_start) Sleep(1);就正常得很。很想知道为什么,怎么解释这个问题? 谢谢。

                              
[解决办法]
Change
bool g_start = false;

To
volatile bool g_start = false;

读书人网 >C++

热点推荐