Windows
什麼是程序句柄?
什麼是程序句柄,我們可以通過任務瀏覽器中的“句柄計數”屬性了解正在執行的程序嗎?
程序句柄是一個整數值,用於向 Windows 標識程序。Win32 API 將它們稱為 HANDLE;視窗句柄稱為 HWND,模組句柄稱為 HMODULE。
程序內的執行緒具有執行緒句柄,文件和其他資源(例如系統資料庫項)也具有句柄。
您在任務管理器中看到的句柄計數是“程序對象表中的對象句柄數”。實際上,這是該程序已打開的所有句柄的總和。
如果你不釋放你的資源句柄,其他人可能無法訪問它——這就是為什麼你有時不能刪除文件,因為 Windows 聲稱它正在使用中(查看這篇關於句柄洩漏和程序資源管理器的文章)。
此外,各種句柄都有每個程序的限制。 這是一個例子。
通常,如果您打開句柄而不關閉它們,則類似於記憶體洩漏。你應該弄清楚發生了什麼並修復它。關於句柄洩漏有一篇很好的CodeProject 文章。