【发布时间】:2012-03-01 09:25:01
【问题描述】:
怎么做?
我尝试了 WaitingForSingleObject、GetExitCodeThread 等,但是当我用进程资源管理器杀死线程时没有任何反应。
while(true)
{
if(GetThreadId(this->hWatchThread) == 0) // Always return killed thread id!
break;
}
更新:
当我杀死线程时,它停止工作,但我无法从 GetThreadId 获取退出代码或零值
【问题讨论】:
-
不,WaitForSingleObject 永远不会返回值。
-
是的,可靠。我在许多项目中都使用它。
-
是的,它在完成工作后线程退出时返回值,但在我手动杀死它时不返回。
-
你是如何创建线程的?线程句柄上的 WaitForSingleObject 将是这里的标准解决方案,但存在陷阱 - 例如,您必须确保线程不会自动释放自己的句柄。
标签: c++ multithreading winapi