您的位置:首页 > 其它

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

2014-03-19 10:00 176 查看

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.关闭线程和事件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: