为什么Win32没有僵尸线程问题?

时间:2014-03-11 07:25:08

标签: c++ multithreading winapi posix

只要知道我们是否使用默认的pthread_attr_t调用pthread_create,然后Posix将保留其他线程的退出线程信息来查询它,如果我们没有调用{{}就会出现僵尸线程泄漏1}}。

但据我所知,在pthread_join平台上,您不需要在线程存在后调用WindowsWaitForSingleObject

那么GetExitCodeThread如何处理僵尸线程问题,会有资源泄漏吗?

1 个答案:

答案 0 :(得分:9)

在Windows上,线程是由HANDLE s从用户模式引用的内核对象。内核对象的一个​​属性是"remains in memory as long as at least one object handle exists."

如果你没有在你的线程句柄上调用CloseHandle,你将泄漏内核对象。