• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

“句柄”到底是什么意思啊

php 搞代码 3年前 (2022-01-23) 31次浏览 已收录 0个评论
文章目录[隐藏]

“句柄”是用来操作某个“对象/资源,即:操作某个目标””的,那么“句柄”到底是什么意思啊?释放句柄又怎么解释?

回复内容:

“句柄”是用来操作某个“对象/资源,即:操作某个目标””的,那么“句柄”到底是什么意思啊?释放句柄又怎么解释?

对象就比如你对象,句柄就好比你对象的手机号码,你不必时时刻刻关心你对象在哪里干嘛,你只要有需要的时候打ta电话就能找到,连释放的时候都可以一个电话说:我们分手了。

句柄英文单词为handle

句柄,就是回调函数。

句柄(handle)在语义上可以理解为把手。用这个把手,可以得到资源。拉着把手就等于拿着资源,针对把手操作就等于顺藤摸瓜操作了资源。例如:

<code class="php">// 建立资源$ch = curl_init();// 根据句柄操作资源curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_HEADER, TRUE);curl_setopt($ch, CURLOPT_NOBODY, TRUE); // remove bodycurl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);// 根据句柄执行这个资源$head = curl_exec($ch); </code>

英语里还有个词叫love handle指得就是肚子周围的一圈可以捏来捏去的小赘肉,直译可以理解为“爱的把手”

类似就是一个通道,一个保持着某种状态的对象。
一些资源因为性质的原因无法被直接操作, 就需要通过句柄去操作。
比如:

  1. 操作数据库需要身份,所以登录数据库以后的句柄带着身份信息去操作数据库

  2. 文件的读写有文件指针位置,读写需要控制指针位置, 句柄提供了一个带状态的通道。

  3. 定时器是一种状态,把定时状态赋值给句柄, 当触发了一些事情以后可以去对句柄做处理(取消定时,提前触发)等。

你的应用程序往往要对对象(数据文件, 自定义的数据结构等)做一些操作, 而句柄可以简单地理解为是指向这些对象的一个指针. 在你的程序启动之后, 这些对象在内存中并非是%本文@来源gao@!dai!ma.com搞$$代^@码!网搞代gaodaima码一成不变的, 一方面由于处理器调度等原因, 另一方面现在的操作系统大多基于虚拟内存空间, 在这种情况下, 内存管理器会经常来回移动对象, 以此来满足当前运行的需要, 那如果说我们寻找对象的方式仅仅是依靠一个指针 —- 指向了一个固定的内存地址, 那么显然是没办法应对不断变化的实际内存, 所以, 句柄可以说是一个指向指针的指针, 它本身虽然没有直接指向对象, 但是可以通过它来获知对象在内存上的变动情况, 然后间接地获取对象

也就是说, 实际对象在内存里的地址通常是不固定的, 而固定的句柄则描述了相应对象在内存里的位置

在C语言里有的是指向结构体的指针


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:“句柄”到底是什么意思啊

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址