●●●●我该什么时候终止线程?●●●●
函数0:
thread()
{
while(...)
{
case1: Func1();
case2: Func2();
}
}
子函数1:
Func1()
{
while(...)
{... }
}
子函数2:
Func2()
{
while(...)
{... }
}
我想在子函数1和子函数2执行的任何时候都可以调用下面的代码使该线程停止
PeekMessage(&msg, NULL, 0, 0, PM_REMOVE);
if( WM_THREAD_EXIT == msg.message )
{
if (pthrdInfo->WaitForTerminate(0) != WAIT_TIMEOUT)
return CM_HANDLER_EXIT;
}
但是由于这是个两重循环停止的动作不够实时,效果不好!
有没有更好的方案???