MFC 线程的暂停与继续,请问如何做啊。新手

 
  

MFC 线程的暂停与继续,请问如何做啊。新手。

新建线程
hThread=CreateThread(NULL,
0,
(LPTHREAD_START_ROUTINE)Test,
NULL,
0,
&ThreadID);

用WaitForSingleObject( hThread, INFINITE );使它暂停了。
请问如何让它重新开始运行。
先谢谢了。
答:
 
  
你好,一般情况下线程的暂停应该是这样的。
1.创建线程hThread=CreateThread()
2.增加事件。HANDLE hEvent = CreateEvent()参数作用请参见MSDN
3.在线程函数中使用WaitForSingleObject(hEvent , INFINITE );设置暂停开关,
如在线程函数中有如下结构:
while(true)
{
WaitForSingleObject(hEvent , INFINITE );
}
4.然后在需要控制线程运行的地方通过调用SetEvent(hEvent)和ResetEvent(hEvent)设置事件信号状态来控制线程运行或暂停。
5.关闭线程和事件

你可能感兴趣的:(MFC 线程的暂停与继续,请问如何做啊。新手)