【发布时间】:2012-10-05 10:28:48
【问题描述】:
如何在C++ 中分离窗口上的线程。在Posix 我们有pthread_detach(pthread_self());。如何在 windows 环境中实现这一点。
【问题讨论】:
-
在这方面,pthread 的 windows 实现是否与 *nix 不同?
-
我想说“DeleteFiber”,但试图记住可能不存在的等价物是在逃避我。有关该主题的更多信息,但这里是 MSDN 在线程上的链接:msdn.microsoft.com/en-us/library/windows/desktop/…
-
std::thread::detach()有什么问题? -
分离是什么意思?如果是关于强制线程停止运行指令,请删除它的堆栈和寄存器集——
TerminateThread是答案或 1std::thread::detach()`。 -
@Apokal
TerminateThread,嗯,终止一个线程,绝对不与分离线程相同。分离更多的是说你并不真正关心线程资源,并希望在线程自然完成后自动清理它,但不需要显式加入它。
标签: c++ windows multithreading