【问题标题】:Why Win32 doesn't have zombie thread issue?为什么 Win32 没有僵尸线程问题?
【发布时间】:2014-03-11 07:25:07
【问题描述】:

只要知道如果我们用默认pthread_attr_t调用pthread_create,那么Posix会保留退出的线程信息供其他线程查询,如果我们不调用pthread_join就会有僵尸线程泄漏。

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

那么Win32如何处理僵尸线程问题,会不会有资源泄露?

【问题讨论】:

    标签: c++ multithreading winapi posix


    【解决方案1】:

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

    如果你不在你的线程句柄上调用CloseHandle,你将会泄露内核对象。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-14
      • 2011-04-22
      • 2013-04-11
      • 2013-05-01
      • 2010-11-12
      • 2021-08-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多