php中句柄是什么意思,“句柄”到底是什么意思啊
“句柄”是用來操作某個“對象/資源,即:操作某個目標(biāo)””的,那么“句柄”到底是什么意思啊?釋放句柄又怎么解釋?
回復(fù)內(nèi)容:
“句柄”是用來操作某個“對象/資源,即:操作某個目標(biāo)””的,那么“句柄”到底是什么意思啊?釋放句柄又怎么解釋?
對象就比如你對象,句柄就好比你對象的手機號碼,你不必時時刻刻關(guān)心你對象在哪里干嘛,你只要有需要的時候打ta電話就能找到,連釋放的時候都可以一個電話說:我們分手了。
句柄英文單詞為handle。
句柄,就是回調(diào)函數(shù)。
句柄(handle)在語義上可以理解為把手。用這個把手,可以得到資源。拉著把手就等于拿著資源,針對把手操作就等于順藤摸瓜操作了資源。例如:
// 建立資源
$ch = curl_init();
// 根據(jù)句柄操作資源
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, TRUE);
curl_setopt($ch, CURLOPT_NOBODY, TRUE); // remove body
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
// 根據(jù)句柄執(zhí)行這個資源
$head = curl_exec($ch);
英語里還有個詞叫l(wèi)ove handle指得就是肚子周圍的一圈可以捏來捏去的小贅肉,直譯可以理解為“愛的把手”
類似就是一個通道,一個保持著某種狀態(tài)的對象。
一些資源因為性質(zhì)的原因無法被直接操作, 就需要通過句柄去操作。
比如:
操作數(shù)據(jù)庫需要身份,所以登錄數(shù)據(jù)庫以后的句柄帶著身份信息去操作數(shù)據(jù)庫
文件的讀寫有文件指針位置,讀寫需要控制指針位置, 句柄提供了一個帶狀態(tài)的通道。
定時器是一種狀態(tài),把定時狀態(tài)賦值給句柄, 當(dāng)觸發(fā)了一些事情以后可以去對句柄做處理(取消定時,提前觸發(fā))等。
你的應(yīng)用程序往往要對對象(數(shù)據(jù)文件, 自定義的數(shù)據(jù)結(jié)構(gòu)等)做一些操作, 而句柄可以簡單地理解為是指向這些對象的一個指針. 在你的程序啟動之后, 這些對象在內(nèi)存中并非是一成不變的, 一方面由于處理器調(diào)度等原因, 另一方面現(xiàn)在的操作系統(tǒng)大多基于虛擬內(nèi)存空間, 在這種情況下, 內(nèi)存管理器會經(jīng)常來回移動對象, 以此來滿足當(dāng)前運行的需要, 那如果說我們尋找對象的方式僅僅是依靠一個指針 ---- 指向了一個固定的內(nèi)存地址, 那么顯然是沒辦法應(yīng)對不斷變化的實際內(nèi)存, 所以, 句柄可以說是一個指向指針的指針, 它本身雖然沒有直接指向?qū)ο? 但是可以通過它來獲知對象在內(nèi)存上的變動情況, 然后間接地獲取對象
也就是說, 實際對象在內(nèi)存里的地址通常是不固定的, 而固定的句柄則描述了相應(yīng)對象在內(nèi)存里的位置
在C語言里有的是指向結(jié)構(gòu)體的指針
相關(guān)標(biāo)簽:php
本文原創(chuàng)發(fā)布php中文網(wǎng),轉(zhuǎn)載請注明出處,感謝您的尊重!
總結(jié)
以上是生活随笔為你收集整理的php中句柄是什么意思,“句柄”到底是什么意思啊的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql基于springboot的家政
- 下一篇: 如何批量在文件夹中建立php,怎样快速实