计算机上正在运行的句柄,线程,进程分别是什么意思 任务管理器的句柄数 线程数 进程数各指什么意思?

作者&投稿:陆剂 (若有异议请与网页底部的电邮联系)
句柄是微软特有的名词

句柄我记得老师说过是信号量,计算机操作系统理论里面的一个中有名词,用于管理临界资源的。

进程是计算机系统管理计算机资源的单位,而线程是建基于线程之上,那进程里面的资源去执行一系列操作的。

可以说进程主要是负责管理计算机资源的单位,而一个进程有多个线程,线程才是真正去执行程序的单位。

好像一个网络程序,有若干个网络连接,需要下载N多图片,进程就相当于这个程序,包括下载图片的地址,还有下载图片要缓存的内存等,而线程才是真正去下载的“小程序”,如果只有一个线程,那么就要下载N次,而且是串行下载,下载完一个再一个,有100张图片,就要排队依次下载。

而有多个线程的话,那就相当于开多个小程序去下载,就好像工厂似的,工人多效率就高,如果有两个线程,相当于每次可以同时下载两张图片,100张图片只需要以前单线程50张图片的时间就能下载好。

而具体怎么同时下载两张图片,单核CPU就是以极快的切换速度在两个线程之间切换,多核心就是派出另外一个核心去负责下载。。。大概就是这样。。。

计算机上正在运行的句柄、线程、进程分别是什么意思?~

所谓句柄实际上是一个数据,是一个Long (整长型)的数据。

句柄是WONDOWS用来标识被应用程序所建立或使用的对象的唯一整数,WINDOWS使用各种各样的句柄标识诸如应用程序实例,窗口,控制,位图,GDI对象等等。WINDOWS句柄有点象C语言中的文件句柄。

从上面的定义中的我们可以看到,句柄是一个标识符,是拿来标识对象或者项目的,它就象我们的姓名一样,每个人都会有一个,不同的人的姓名不一样,但是,也可能有一个名字和你一样的人。从数据类型上来看它只是一个16位的无符号整数。应用程序几乎总是通过调用一个WINDOWS函数来获得一个句柄,之后其他的WINDOWS函数就可以使用该句柄,以引用相应的对象。

如果想更透彻一点地认识句柄,我可以告诉大家,句柄是一种指向指针的指针。我们知道,所谓指针是一种内存地址。应用程序启动后,组成这个程序的各对象是住留在内存的。如果简单地理解,似乎我们只要获知这个内存的首地址,那么就可以随时用这个地址访问对象。但是,如果您真的这样认为,那么您就大错特错了。我们知道,Windows是一个以虚拟内存为基础的操作系统。在这种系统环境下,Windows内存管理器经常在内存中来回移动对象,依此来满足各种应用程序的内存需要。对象被移动意味着它的地址变化了。如果地址总是如此变化,我们该到哪里去找该对象呢?

为了解决这个问题,Windows操作系统为各应用程序腾出一些内存储地址,用来专门登记各应用对象在内存中的地址变化,而这个地址(存储单元的位置)本身是不变的。Windows内存管理器在移动对象在内存中的位置后,把对象新的地址告知这个句柄地址来保存。这样我们只需记住这个句柄地址就可以间接地知道对象具体在内存中的哪个位置。这个地址是在对象装载(Load)时由系统分配给的,当系统卸载时(Unload)又释放给系统。

句柄地址(稳定)→记载着对象在内存中的地址————→对象在内存中的地址(不稳定)→实际对象

本质:WINDOWS程序中并不是用物理地址来标识一个内存块,文件,任务或动态装入模块的,相反的,WINDOWS API给这些项目分配确定的句柄,并将句柄返回给应用程序,然后通过句柄来进行操作。

但是必须注意的是程序每次从新启动,系统不能保证分配给这个程序的句柄还是原来的那个句柄,而且绝大多数情况的确不一样的。假如我们把进入电影院看电影看成是一个应用程序的启动运行,那么系统给应用程序分配的句柄总是不一样,这和每次电影院售给我们的门票总是不同的一个座位是一样的道理。


线程是指程序的一个指令执行序列,WIN32 平台支持多线程程序,允许程序中存在多个线程。 在单 CPU 系统中,系统把 CPU 的时间片按照调度算法分配给各个线程,因此各线程实际上是分时执行的,在多 CPU 的 Windows NT 系统中, 同一个程序的不同线程可以被分配到不同的 CPU 上去执行。由于一个程序的各线程是在相同的地址空间运行的,因此设及到了如何共享内存, 如何通信等问题,这样便需要处理各线程之间的同步问题,这是多线程编程中的一个难点。

线程,也被称为轻量进程(lightweight processes)。计算机科学术语,指运行中的程序的调度单位。

线程是进程中的实体,一个进程可以拥有多个线程,一个线程必须有一个父进程。线程不拥有系统资源,只有运行必须的一些数据结构;它与父进程的其它线程共享该进程所拥有的全部资源。线程可以创建和撤消线程,从而实现程序的并发执行。一般,线程具有就绪、阻塞和运行三种基本状态。

在多中央处理器的系统里,不同线程可以同时在不同的中央处理器上运行,甚至当它们属于同一个进程时也是如此。大多数支持多处理器的操作系统都提供编程接口来让进程可以控制自己的线程与各处理器之间的关联度(affinity)。

进程是程序在一个数据集合上运行的过程(注:一个程序有可能同时属于

多个进程),它是操作系统进行资源分配和调度的一个独立单位,进程可以简单的分为系统进程(包括一般

Windows程序和服务进程)和用户进程

总数

计算机上正在运行的句柄、线程和进程的总数。


句柄:用于唯一标识资源(例如文件和注册表项)的值,以便程序可以访问它。
线程:在运行程序指令的进程中的对象,线程允许在进程中进行并发操作,并使一个进程能在不同处理器上同时运行其程序的不同部分。
进程:一个可执行程序(如WINDOWS资源管理器)或一种服务(如MSTask)。

线程和进程的区别是什么
答:虽然在某些情况下它们可能相似,但它们在很多方面有着很大的不同。在本文中,我们将讨论线程和进程之间的主要区别。进程是资源的分配和调度的基本单位,它代表了一个正在运行的程序的实例。每个进程都拥有自己独立的地址空间、堆、栈、文件句柄以及其他系统资源。每个进程都拥有自己的地址空间,由操作系统调度...

哪位好心的大师给讲解一下:windows任务管理器中的那些东西,比如:进程...
答:总数:显示计算机上正在运行的句柄、线程、进程的总数。 执行内存:分配给程序和操作系统的内存,由于虚拟内存的存在,“峰值”可以超过最大物理内存,“总数”值则与“页面文件使用记录”图表中显示的值相同。 句柄数:所谓句柄实际上是一个数据,是一个Long (整长型)的数据。 句柄是WINDOWS用来标识被应用程序所建立...

任务管理器有什么作用啊?介绍详细一点
答:总数:显示计算机上正在运行的句柄、线程、进程的总数。 执行内存:分配给程序和操作系统的内存,由于虚拟内存的存在,“峰值”可以超过最大物理内存,“总数”值则与“页面文件使用记录”图表中显示的值相同。 物理内存:计算机上安装的总物理内存,也称RAM,“可用”表示可供使用的内存容量,“系统缓存”显示当前用于映射打开...

任务管理器中各各选项内所有参数所代表的含义
答:总数:显示计算机上正在运行的句柄、线程、进程的总数。执行内存:分配给程序和操作系统的内存,由于虚拟内存的存在,“峰值”可以超过最大物理内存,“总数”值则与“页面文件使用记录”图表中显示的值相同。句柄数:这个东东很专业的。会编程的人知道,我不懂,只知道被称作指针的指针,“线程数”指程序...

任务管理器是什么意思?
答:总数:显示计算机上正在运行的句柄、线程、进程的总数。 执行内存:分配给程序和操作系统的内存,由于虚拟内存的存在,“峰值”可以超过最大物理内存,“总数”值则与“页面文件使用记录”图表中显示的值相同。 物理内存:计算机上安装的总物理内存,也称RAM,“可用”表示可供使用的内存容量,“系统缓存”显示当前用于映射打开...

笔记本上任务管理器的快捷键是什么
答:同时按住这三个键就能直接调出任务管理器。适用于XP/win7/Win8/Win10。2.组合键Ctrl+Alt+Delete 在xp系统中同时按住这三个键也能调出任务管理器,在win7/win8/win10 系统中还需要在新出现的画面中点击启动任务管理器(或者按住Alt+T键)。第一种方法较为简单。第二种方法从手指在键盘上的方位来看...

什么是进程管理器
答:总数:显示计算机上正在运行的句柄、线程、进程的总数。 执行内存:分配给程序和操作系统的内存,由于虚拟内存的存在,“峰值”可以超过最大物理内存,“总数”值则与“页面文件使用记录”图表中显示的值相同。 物理内存:计算机上安装的总物理内存,也称RAM,“可用”表示可供使用的内存容量,“系统缓存”显示当前用于映射打开...

我想学习 任务管理器 简单介绍一下吧
答:总数:显示计算机上正在运行的句柄、线程、进程的总数。 执行内存:分配给程序和操作系统的内存,由于虚拟内存的存在,“峰值”可以超过最大物理内存,“总数”值则与“页面文件使用记录”图表中显示的值相同。 物理内存:计算机上安装的总物理内存,也称RAM,“可用”表示可供使用的内存容量,“系统缓存”显示当前用于映射打开...

任务管理器疑问
答:总数:显示计算机上正在运行的句柄、线程、进程的总数。执行内存:分配给程序和操作系统的内存,由于虚拟内存的存在,“峰值”可以超过最大物理内存,“总数”值则与“页面文件使用记录”图表中显示的值相同。物理内存:计算机上安装的总物理内存,也称RAM,“可用”表示可供使用的内存容量,“系统缓存”显示...

一文带你读懂Python中的进程
答:进程(Process)是计算机中的程序关于某数据集合上的一次运行,即正在运行的程序,是系统进行资源分配和调度的基本单位,进程是对正在运行程序的一个抽象,在早期面向进程设计的计算机结构中,进程是程序的基本执行实体,在当代面向线程设计的计算机结构中,进程是线程的容器,线程是执行的实体。进程的概念起源于操作系统,是操作...