A J*_*son 3 c++ multithreading
我需要能够在Windows C++应用程序中暂停和恢复主线程.我用过
handle = GetCurrentThread();
SuspendThread(handle);
Run Code Online (Sandbox Code Playgroud)
然后应该恢复到哪里
ResumeThread(handle);
Run Code Online (Sandbox Code Playgroud)
暂停它工作,恢复它没有.我有其他线程被暂停和恢复没有问题,是否有一些与主线程不同的东西.
我已经在C#和Java中做了很多线程工作,但这是我第一次用C++完成任务,我发现它有点不同.
tyr*_*nid 12
你在另一个线程中使用GetCurrentThread()获得的"句柄"值吗?如果是这样,那就是伪造的价值.要获得真正的线程句柄,请使用DuplicateHandle或尝试
HANDLE hThread = OpenThread(THREAD_ALL_ACCESS, FALSE, GetCurrentThreadId());
GetCurrentThread返回一个只能在调用线程中使用的"伪句柄".使用DuplicateHandle创建一个真正的句柄,另一个线程可以使用恢复主线程.
请参阅http://msdn.microsoft.com/en-us/library/ms683182%28VS.85%29.aspx
| 归档时间: |
|
| 查看次数: |
10933 次 |
| 最近记录: |