【发布时间】:2012-01-04 17:12:19
【问题描述】:
我对使用从_beginthreadex() 返回的句柄不感兴趣。立即致电CloseHandle() 是否安全?
我认为必须这样做以避免内存泄漏。
【问题讨论】:
-
您最终需要关闭句柄以避免资源泄漏,但在启动线程后立即执行此操作会使您无法使用句柄同步(等待)线程完成。是的,它是安全的。
-
即使立即关闭_beginthreadex返回的句柄,还有另一种方法可以与线程同步。线程本身可以通过 GetCurrentThreadId 访问其线程 id 并将其传递给主线程。然后,您可以随时调用 OpenThread(具有 SYNCHRONIZE 权限)以从该线程 id 获取新句柄。
标签: c++ windows multithreading visual-c++ beginthreadex