CloseHandle的功能是關(guān)閉一個(gè)打開的對象句柄,該對象句柄可以是線程句柄,也可以是進(jìn)程、信號量等其他內(nèi)核對象的句柄,而ExitThread的功能是終止一個(gè)線程,它所接受的參數(shù)是一個(gè)線程的退出碼。?
??
???? 通過調(diào)用CloseHandle可以告知系統(tǒng),已經(jīng)完成了對某一內(nèi)核對象的操作,該函數(shù)首先檢查調(diào)用進(jìn)程的句柄表,來確認(rèn)進(jìn)程是否對該句柄所指向的對象有訪問權(quán),如果句柄無效則返回FALSE,如果有效,系統(tǒng)將得到該內(nèi)核對象的數(shù)據(jù)結(jié)構(gòu)的地址,把結(jié)構(gòu)中的使用計(jì)數(shù)成員減1,如果計(jì)數(shù)變?yōu)?,則將從內(nèi)核中釋放該內(nèi)核對象。?
??
???? 如果計(jì)數(shù)還未到0,就意味著還有其他的進(jìn)程在使用這個(gè)內(nèi)核對象,那么它就不會被釋放。?
??
???? ExitThread是推薦使用的結(jié)束一個(gè)線程的方法,當(dāng)調(diào)用該函數(shù)時(shí),當(dāng)前線程的棧被釋放,然后線程終止,相對于TerminateThread函數(shù)來說,這樣做能夠更好地完成附加在該線程上的DLL的清除工作。?
其實(shí)可以通過這個(gè)來避免c++里面的內(nèi)存泄露
posted on 2009-06-16 16:09
-274°C 閱讀(3539)
評論(0) 編輯 收藏 所屬分類:
C++