线程访问全局变量卡住的问题
BOOL bStop=FALSE;//这是个全局变量
UINT thread1(LPVOID lparam)
{
//其他代码
......
while(!bStop)//问题就出在这,当点击按钮,使bStop=TRUE;时,就会卡在这不动了,
//我怀疑是,改变变量的同时恰好这里在访问这个变量,应该怎么解决呢?
{
//其他代码
......
if(bStopFlux)//或者问题出在这,
{
// break;
}
//其他代码
......
}
return 0;
}
void CClass1::OnButStartLis() //这个按钮用于启动线程
{
AfxBeginThread(thread1,this);
}
void CClass1::OnButStop() //这是个按钮响应函数
{
bStop=TRUE;//目的是把这个全局变量设置成TRUE,好让线程自己退出
}