这是
创建处于暂停状态的线程。
hThrd1 = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE) ThreadProc1, (LPVOID)
&obj1, CREATE_SUSPENDED, &dwFirstThreadID);
在需要时恢复线程
ResumeThread(hThrd1);
如何暂停此正在运行的线程。我可能会在一段时间后恢复它,但我现在想暂停它。
我致电
SuspendThread(hThrd1);
仍然在ThreadProc中的for循环继续运行。现在我该如何避免呢?同时建议我选择任何替代方案。
答案 0 :(得分:2)
我遇到了问题。最初在WndProc中声明了线程HANDLE hThrd1。因为再次调用WndProc&再次,我在CreateThread期间获得的HANDLE与传递给暂停线程的HANDLE不同。 (这是一个令人尴尬的错误)
现在我已经全球宣布了它。这解决了问题,并按预期工作。