情况是这样的:我在一个线程中又起了几个工作线程,分别处理大量的工作,但是我想在应用程序退出时强制关闭所有的线程。
我试过:在工作线程中用消息对队然后PostThreadMessage(WM_QUIT)和ExitThread(...)等,但是工作线程在访问一些对像是会出错,且资源不会释放。我应该采用何种机制呢?
我试过:在工作线程中用消息对队然后PostThreadMessage(WM_QUIT)和ExitThread(...)等,但是工作线程在访问一些对像是会出错,且资源不会释放。我应该采用何种机制呢?
状态,而是超时或其他则继续运行.
HANDLE ThreadHandle[3];
................
................
TerminateThread( ThreadHandle[0], 0 );
TerminateThread( ThreadHandle[1], 0 );
TerminateThread( ThreadHandle[2], 0 );DWIRD dwRet = WaitForMultipleObjects( 3, ThreadHandle, TRUE, dwMilliseconds ); // 等待dwMilliseconds
switch(dwRet)
{
case WAIT_OBJECT_0:
// 可以退出程序了
break; case WAIT_ABANDONED_0
break; case WAIT_TIMEOUT:
break;
}