Python中什么是句柄?
你應該是在學window編程的時候遇到的吧。每一個句柄,對應著一個windows內核對象,你可以把這個句柄看成windows內核的對象的索引,我一說內核對象你可能又不明白了,那咱們具體點,內核對象可以是一個窗口或者一個文件。
當我們操作windows的內核對象的時候,不能直接直接使用指針,必須要使用句柄來操作內核對象。你可能要問了,為啥? 因為句柄指向的結構控制著內核對象的生命周期和地址。 比如,句柄指向的結構里面有內核對象的引用計數, 我們都遇到過 “文件被占用不能刪除的” 的提示,這個時候即使句柄指向結構的里面的引用計數起了作用。
其實句柄的作用我的理解就是定義了windows內核管理的基本數據結構。 比如內核對象的物理地址,只有windows內核才有權限訪問, 既然原則上是不能暴露出來的,封裝起來就是唯一的選擇了。
另外,其實這些概念,如果之前沒有學過操作系統的相關知識的話,在你的大腦中是非常難以理解的。 因此,建議多看看《深入理解計算機系統》這本書,或者《深入理解windows內核》。把這兩本書看明白了, 這些問題就不是問題了。