CloseHandle()和ExitThread()區別(防止內存泄露)

CloseHandle的功能是關閉一個打開的對象句柄,該對象句柄可以是線程句柄,也可以是進程、信號量等其他內核對象的句柄,而ExitThread的功能是終止一個線程,它所接受的參數是一個線程的退出碼。 
  
     通過調用CloseHandle可以告知系統,已經完成了對某一內核對象的操作,該函數首先檢查調用進程的句柄表,來確認進程是否對該句柄所指向的對象有訪問權,如果句柄無效則返回FALSE,如果有效,系統將得到該內核對象的數據結構的地址,把結構中的使用計數成員減1,如果計數變爲0,則將從內核中釋放該內核對象。 
  
     如果計數還未到0,就意味着還有其他的進程在使用這個內核對象,那麼它就不會被釋放。 
  
     ExitThread是推薦使用的結束一個線程的方法,當調用該函數時,當前線程的棧被釋放,然後線程終止,相對於TerminateThread函數來說,這樣做能夠更好地完成附加在該線程上的DLL的清除工作。 


其實可以通過這個來避免c++裏面的內存泄露

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