9

我对使用从_beginthreadex(). 立即调用CloseHandle()它是否安全?

我相信必须这样做以避免内存泄漏。

4

2 回答 2

10

是的,您可以在决定不再需要该手柄后立即关闭该手柄。这不会影响线程执行。但是,您可能应该在继续之前检查线程是否已经启动。

您担心的泄漏不是内存泄漏,而是系统资源泄漏——通常情况更糟。

于 2011-11-23T12:02:25.667 回答
-1

根据 MSDN,你不应该关闭 __beginThreadEx 返回的句柄:_endthread 会自动关闭线程句柄(而 _endthreadex 不会)。因此,在使用 _beginthread 和 _endthread 时,不要通过调用 Win32 CloseHandle API 显式关闭线程句柄。(有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/kdzttdcb(ar-sa).aspx。)

于 2011-11-23T17:56:43.790 回答