CloseHandle

1.爲啥要在創建Handle後立馬關閉;
首先我們都是在創建線程賦給一個句柄,然後立馬結束句柄;
這是爲啥?

1.線程和線程句柄不是一個東西,線程是在CPU上運行的,線程句柄是一個內核對象。我們可以通過句柄來操作線程;但是其生命週期不同。線程生命週期是從線程函數開始執行到return,而線程句柄的生命週期是從CreateThread到CloseHandle();
2.內核對象都是系統資源,用了要歸還,也即用完後一定要關閉句柄,否則系統資源很快就要被用光。
3.如果在CreateHandle以後需要對這個線程進行一些操作,比如改變優先級,被其他線程等待,強制TermateThread等,就要保存這個句柄,使用完了在CloseHandle。如果創建線程之後不需要干預則直接CLosehandle就行了。

發佈了3 篇原創文章 · 獲贊 0 · 訪問量 7417
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章