天天看點

建立線程後為什麼關閉了線程句柄,線程還是可以運作?

查詢線程狀态等等,靠的就是句柄,如果沒有句柄,系統就無從知道要查的是那個線程的狀态。但保持這個句柄不關閉,并不是線程運作的條件。

關閉線程句柄隻是釋放句柄資源,新開啟線程後,如果不再利用其句柄,應該關閉句柄,釋放系統資源。關閉線程句柄和線程的結束與否沒有關系。

如果主線程隻想建立線程,而并不想之後再查詢或操縱它,那麼及時關閉句柄是個好習慣,免得當時沒關,以後又忘了,于是洩漏了系統的句柄資源(系統句柄總數是有限的)。

       如果知道引用計數是怎麼回事就很好解釋了。CloseHandle(hThread)   隻是減去一個hThread的引用計數。

繼續閱讀