热搜:NVER node 开发 php

句柄是专属于windows操作系统下的概念吗

2024-08-19 11:45:01
句柄是专属于windows操作系统下的概念吗

为啥要提这个问题呢,因为PHP下似乎也经常用到这一逻辑,所以想搞明白点。百度了一下,似乎 句柄是windows下的产物,那么别的系统如 Linux 、UINX等操作系统下也有这个玩意吗?另外还有 勾子这一概念,似乎句柄也是勾子,那么勾子又是怎么回事呢?总感觉PHP乱七八糟的。
还有: $_mysqli=new mysqli('cocalhost','root','yangfan','cms');这句话中,为啥说 $_mysqli就是句柄呢?
我的理解它是一个变量啊


回复讨论(解决方案)

handle
n. [建] 把手;柄;手感;口实
vt. 处理;操作;运用;买卖;触摸
vi. 搬运;易于操纵

习惯译做 句柄
实则是系统资源的索引

在程序中传递一个资源实体显然不如只传递其索引号来的方便

在 php 中
$_mysqli=new mysqli('cocalhost','root','yangfan','cms');
$_mysqli 是对象,当然对象的引用传递,也可以说是句柄
$_mysql = mysql_connect('cocalhost','root','yangfan');
$_mysql 是资源,也就是句柄

handle
n. [建] 把手;柄;手感;口实
vt. 处理;操作;运用;买卖;触摸
vi. 搬运;易于操纵

习惯译做 句柄
实则是系统资源的索引

在程序中传递一个资源实体显然不如只传递其索引号来的方便

在 php 中
$_mysqli=new mysqli('cocalhost','root','yangfan','cms');
$_mysqli 是对象,当然对象的引用传递,也可以说是句柄
$_mysql = mysql_connect('cocalhost','root','yangfan');
$_mysql 是资源,也就是句柄


变量和资源有什么区别呢

这么说吧:
资源是真实存在的,比如你这个人吧
变量是载体,或者说是名字。比如你的身份证上绝不会是 shopnc_02,但他都代表着你这个人

句柄是系统(如数据库、操作系统)所管理的内存块或对象,并不是window的概念

在window中窗体的引用为句柄   这是因为官方这么叫了   然后函数 如 HWND hWnd = AfxGetMainWnd()->m_hWnd  ;看这类型名称 就是句柄

其实打开的文件   打开的目录  打开的数据库连接都可以称为句柄   但是大家不这么叫而已   都叫“数据库连接”  "文件描述符"

在PHP可以把resource归属为句柄