我想创建一个线程,然后立即调用CloseHandle并让线程自行死亡,这样我就不必在'原始'线程中做额外的清理工作(不是清理是本身很难,但这意味着我需要避免相当多的额外簿记。
MSDN说在一个线程上调用CloseHandle()并不会终止该线程,但我不清楚这是否意味着我真的被允许这样做。
答案 0 :(得分:21)
不仅是合理的,而且不是手柄泄漏。通常我会在创建线程后立即关闭它,除非我在其他地方需要它。
答案 1 :(得分:12)
CreateThread函数使引用计数+2,CloseHandle只引用引用计数-1,当线程函数完成时,系统将引用计数-1。