日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

线程创建后,立刻调用CloseHandle的原因

發(fā)布時間:2025/5/22 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 线程创建后,立刻调用CloseHandle的原因 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

HANDLE threadhandle = CreateThread(NULL, 0, RecvThreadProc, NULL, NULL, NULL);?

CloseHandle(threadhandle);?
?不明白為什么創(chuàng)建線程后,要馬上把線程的句柄關(guān)閉,這樣做的目的是什么? 這樣做會殺掉線程嗎?

解答:

???? 創(chuàng)建線程后返回了線程句柄,新創(chuàng)建的線程內(nèi)核對象的使用計(jì)數(shù)是2,一個是線程本身,一個是創(chuàng)建線程的線程,創(chuàng)建線程的線程closehandle后,新的線程的內(nèi)核對象使用計(jì)數(shù)為1,當(dāng)這個新線程結(jié)束運(yùn)行后內(nèi)核對象的使用計(jì)數(shù)還要減1,這時內(nèi)核對象的使用計(jì)數(shù)是0,則系統(tǒng)會自動刪除新線程的內(nèi)核對象,這是正常的處理流程。


???? 你如果不顯示的調(diào)用closehandle,則新線程結(jié)束運(yùn)行后,由于內(nèi)核對象使用計(jì)數(shù)為1,所以不會刪除內(nèi)核對象,會造成內(nèi)存泄露,不過當(dāng)整個進(jìn)程結(jié)束時操作系統(tǒng)會自動關(guān)閉該進(jìn)程的所有的內(nèi)核對象包括這個新線程的內(nèi)核對象,所以你不調(diào)用closehandle問題不大,只是在你的進(jìn)程運(yùn)行的時候會造成內(nèi)存泄露,進(jìn)程結(jié)束后系統(tǒng)是會自動清理的。

轉(zhuǎn)載于:https://www.cnblogs.com/tianlangshu/archive/2011/03/20/1989573.html

總結(jié)

以上是生活随笔為你收集整理的线程创建后,立刻调用CloseHandle的原因的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。