何为句柄(续)

来源:互联网 发布:汉王 尚书软件 编辑:程序博客网 时间:2024/05/21 09:33
  最近对于句柄的理解有了新的理解,特记于此,以便以后学习。

前段时间我在博客了写了什么是句柄,(请看何为句柄)但是没有说明为什么window系统中要引入句柄,正如大多数人所知道的,句柄是window操作系统中标识某一资源用的,获得句柄就是获得了资源的地址。从这句话中我们可以知道两个知识点:

1 、句柄是window操作系统所特有的,linux系统中没有这个词。

2、句柄是用来标识某一资源的,是用来获取资源地址的。

说到这里,我就要提问了?既然C++中有指针,为什么还要使用句柄,指针不也可以保存资源的地址吗?

这个问题考虑的不无道理,现在我就来解释。

学过操作系统原理的同学都知道,一个应用程序在执行的时候并不是所有的代码都放进内存,即使放入了内存,也不可能在整个运行期间一直停留在内存,毕竟内存还是比较珍贵的资源,所以对于某一资源,在不同的时刻物理地址可能不一样,但是在内核对象表中,句柄其实是一个索引,根据该索引我们可以很快的找到此时资源的物理地址。而句柄比较稳定,所以window操作系统就引入了句柄的概念。

原创粉丝点击