我对使用从_beginthreadex()
. 立即调用CloseHandle()
它是否安全?
我相信必须这样做以避免内存泄漏。
我对使用从_beginthreadex()
. 立即调用CloseHandle()
它是否安全?
我相信必须这样做以避免内存泄漏。
是的,您可以在决定不再需要该手柄后立即关闭该手柄。这不会影响线程执行。但是,您可能应该在继续之前检查线程是否已经启动。
您担心的泄漏不是内存泄漏,而是系统资源泄漏——通常情况更糟。
根据 MSDN,你不应该关闭 __beginThreadEx 返回的句柄:_endthread 会自动关闭线程句柄(而 _endthreadex 不会)。因此,在使用 _beginthread 和 _endthread 时,不要通过调用 Win32 CloseHandle API 显式关闭线程句柄。(有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/kdzttdcb(ar-sa).aspx。)