我在MFC中定义一个变量number为空,A线程中循环给变量赋值,另一个线程B在死循环不断打印变量number,但一直都是空,该怎么处理才能得到赋值后的值。
void CTestWeb::OnAbcdefg()
{
AfxBeginThread(ThreadProcA, NULL); // 启动线程A
AfxBeginThread(ThreadProcB, NULL); // 启动线程B
}
UINT ThreadProcA(LPVOID pParam)
{
int i=0;
while (1){
number = i;
i++;
}
return 0;
}
UINT ThreadProcB(LPVOID pParam)
{
while (1)
{
if (number!= "")
{
MessageBox("有值了");
}
else {
MessageBox("无");
}
}
return 0;
}
然后一直返回无 应该怎么处理才能让线程B 循环能够获取到线程A 赋值后的number
我尝试过加临界区 两个线程都对 操作number的地方使用临界区锁上,但是线程都是死循环 等待不到结果 没有返回貌似
求解