您的位置:首页 > 其它

Windows 中线程同步轮询检查一个变量的错误使用

2016-12-05 19:31 204 查看
1.错误代码如下:

BOOL g_fFinishedCalculation=FALSE;

int main(void)
{
_beginthreadex(..,RecalcFunc,...);
while(!g_fFinishedCalculation);
...
return 0;
}

unsigned __stdcall RecalcFunc(void* pParam)
{
... g_fFinishedCalculation=TRUE;
return 0;
}

修改的方法:

将 BOOL g_fFinishedCalculation=FALSE; 改成

volatile BOOL g_fFinishedCalculation=FALSE;

原因:






内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐