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;
原因: