编程初学者学习:句柄(二)

上篇文章,我们学习了指针。这篇文章,我们来学习一下句柄。

相同点

句柄和指针都是通过一种间接的方式去操作我们的目标资源。

其在代码中的表现方式都是一种整型数值的表现方式(地址值本质是一个整型数值)。

不同点

指针在多数语言中是一种语言的明确规范。表示的就是该资源在程序中所存储的地址。可以通过解引用指针做到仅跨越一层来获取指向的目标资源。不过,如果该资源是程序本身的,则无法跨进程共享。

而句柄不受限于某种编程语言,这更是一种设计的理念和模式。它以一种标识符的方式对下层进行访问,可以一层也可以多层,且该资源是一种共享资源,不受限于某个具体的进程。

在我们程序进程中会维护一张系统调用的表,该表中每一个值与内核层的关联实体建立一层映射,而每个进程都会建立这张表,我们称之为 句柄列表,由于这是对用户是不透明的,因此我们看到不同进程中操作同一个资源时的句柄值可能是不同的。

下图是一张基于上述描述的概念图:

相关推荐
小席是个热心肠6 小时前
AI相关的自我学习
java·人工智能·学习
何事误红尘8 小时前
Mqtt学习笔记(一):Mosquitto服务器搭建、MQTTX安装测试
学习
青山是哪个青山8 小时前
LangChain 学习笔记(三):LangSmith 调试与监控
笔记·学习·langchain
那年窗外下的雪.10 小时前
AIDC 学习日志 第 04 天 BGP Underlay 基础与路由选择
服务器·学习·php
蒸蒸yyyyzwd10 小时前
cpp选手备战后端学习笔记day6 秋招笔试题
笔记·学习
weixin_4462608512 小时前
AVA-Encoder:面向智能体原生视频表征学习框架
学习·音视频
吃好睡好便好13 小时前
说说口罩的佩戴
学习·生活·口罩
nnerddboy13 小时前
LoRa自学笔记01:原理与学习路线
笔记·学习
fīɡЙtīиɡ ℡13 小时前
大模型结构化输出
人工智能·学习
Dave12054614 小时前
Day17:Agent Memory高级设计——短期记忆、长期记忆与向量语义记忆
人工智能·学习