专业汉语词典知识平台,分享汉字词语知识、历史文学知识解答!

励北网
励北网

线程进程的区别有哪些,线程进程的区别和联系

来源:小易整编  作者:小易  发布时间:2023-02-24 04:52
摘要:线程进程的区别有哪些,线程进程的区别和联系一、定义1、进程:进程是一个具有独立功能的程序关于某个数据集合的以此运行活动。是系统进行资源分配和调度的独立单位,也是基本的执行单元。是一个动态的概念,是一个活动的实体。它不只是程序的代码,还包括当...

线程进程的区别有哪些,线程进程的区别和联系

一、定义

1、进程:进程是一个具有独立功能的程序关于某个数据集合的以此运行活动。 是系统进行资源分配和调度的独立单位,也是基本的执行单元。是一个动态的概念,是一个活动的实体。它不只是程序的代码,还包括当前的活动。

进程结构特征: 由程序、数据和进程控制块三部分组成。具有 独立性、并发性、异步性和动态性的特点。

(1)、进程的概念主要有两点:

第一,进程是一个实体。每一个进程都有它自己的地址空间,一般情况下,包括文本区域(text region)--存储处理器执行的代码,数据区域(data region)--存储程序执行期间的一些数据变量,堆栈(stack region)--存储动态分配的内存和本地变量及指令。

第二:进程是一个“执行中的程序”。程序是一个没有生命的实体,只有在运行时处理器才会赋予它生命,才能成为一个活动的实体,我们称其为“进程”。

每一个进程都会有一个独一无二的编号,被称为进程标识码,简称PID(Process,identifier),它是一个取值为1-32768.但是init是一个特殊的进程。所谓的init进程,是一个内核启动的用户级进程,也是系统上运行的所有其他进程的父进程,他会观察子进程,并在需要的时候启动,停止,重新启动它们,init进程主要完成系统各项的配置。linux系统中,init从根文件夹系统目录里的/etc/inittab文件里获取信息。是所有进程的发起者和控制者,内核启动后,便由init进程来进行各项配置。

(2)、进程的三种状态:

就绪(Ready)状态:当进程分配到除CPU以外的必要资源后,只要再获得CPU,便可以立即执行,进程这时的状态为就绪状态。在一个系统中处于就绪状态的进程可能有多个,通常将它们排成一个队列,称为就绪队列。

阻塞(Blocked)状态:正在执行的进程由于发生某事件或接受某消息无法继续执行时,便放弃处理机而处于暂停状态,也即进程的执行收到阻塞,把这种暂停状态称为阻塞状态,有时也称为等待状态和封锁状态。通常使进程处于阻塞的原因有:请求I/O,申请缓冲空间。也会产生一个相应的阻塞队列。

运行(Running)状态:进程已获得CPU,其程序正在执行。在单处理机系统中,只有一个进程处于执行状态,在多处理机系统中,则有多个进程处于执行状态;

其关系如下图所示:

线程进程的区别有哪些,线程进程的区别和联系

2、线程:线程是进程中的 执行运算的最小单位,是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源( 程序计数器,一组寄存器和栈),但它可与同属一个进程的其他线程 共享进程所拥有的全部资源。

线程优点:

  • (1)易于调度。

  • (2)提高并发性。通过线程可方便有效地实现并发性。进程可创建多个线程来执行同一个程序的不同部分。

  • (3)开销少。创建线程比创建进程要快,所需开销少,占用的资源也少;

  • (4)充分发挥多处理器的功能。通过创建多线程进程,每个线程在一个处理器上运行,从而实现应用程序的并发性,使每个处理器都得到充分的运行。

二、进程与线程的区别

(1)调度:线程作为处理器调度和分配的基本单位,而进程是作为拥有资源的基本单位

(2)并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可以并发执行

(3)拥有资源:进程是拥有资源的一个独立单位,有自己独立的地址空间;线程不拥有系统资源,但可以访问隶属于进程的资源,共享进程的地址空间.

(4)系统开销:在创建或撤消进程时,由于系统都要为之分配和回收资源,导致系统的开销明显大于创建或撤消线程时的开销。

三、进程和线程的关系

(1)二者均可并发执行.

(2)线程是指进程内的一个执行单元,也是进程内的可调度实体。一个程序至少有一个进程,一个进程至少有一个线程,一个线程只属于一个进程.

(3)资源分配给进程,同一进程的所有线程共享该进程的所有资源。

(4)处理机分给线程,即真正在处理机上运行的是线程。

(5)线程在执行过程中,需要协作同步。不同进程的线程间要利用消息通信的办法实现同步。线程是指进程内的一个执行单元,也是进程内的可调度实体.进程和线程的主要差别在于它们是不同的操作系统资源管理方式。 进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响。而线程只是一个进程中的不同执行路径,线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间, 一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,但在进程切换时,耗费资源较大,效率要差一些。但对于一些要求同时进行并且又要共享某些变量的并发操作,只能用线程,不能用进程。

四、进程间通信的方式

(1)管道(pipe)及有名管道(named pipe):管道可用于具有亲缘关系的父子进程间的通信,有名管道除了具有管道所具有的功能外,它还允许无亲缘关系进程间的通信。

(2)信号(signal):信号是在软件层次上对中断机制的一种模拟,它是比较复杂的通信方式,用于通知进程有某事件发生,一个进程收到一个信号与处理器收到一个中断请求效果上可以说是一致的。

(3)消息队列(message queue):消息队列是消息的链接表,它克服了上两种通信方式中信号量有限的缺点,具有写权限得进程可以按照一定得规则向消息队列中添加新信息;对消息队列有读权限的进程则可以从消息队列中读取信息。

(4)共享内存(shared memory):可以说这是最有用的进程间通信方式。它使得多个进程可以访问同一块内存空间,不同进程可以及时看到对方进程中共享内存中数据的更新。这种方式需要依靠某种同步操作,如互斥锁和信号量等。

(5)信号量(semaphore):主要作为进程之间及同一种进程的不同线程之间的同步和互斥手段。

(6)套接字(socket):这是一种更为一般的进程间通信机制,它可用于网络中不同机器之间的进程间通信,应用非常广泛。


本文地址:百科问答频道 https://www.neebe.cn/wenda/903347.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!


百科问答
小编:小易整编
相关文章相关阅读
  • 离线导航与在线导航有什么区别(开车用离线导航还是离线地图)

    离线导航与在线导航有什么区别(开车用离线导航还是离线地图)

    最早之前,开车要是不认识路,就需要下车找人询问,复杂的道路往往问了一次又一次才能找到。现在不认识路已经不是问题了,汽车上的导航都很准确,你完全没去过的地方跟着导航就能轻松找到。不过不知道大家注意到没有,现在的车上的导航有离线模式和在线模式,...

  • 超线程是什么意思?

    超线程是什么意思?

    超线程是一种现当代多任务处理的技术,它可以使一个物理处理器核心有效地处理两个任务或更多任务。它通过在CPU中同时执行比物理处理核心更多的虚拟线程达到其目的。这被称为“虚拟处理”。超线程不仅有助于提高CPU的性能,而且可以降低新设计物理处理...

  • 线程数是什么意思?

    线程数是什么意思?

    线程是一种轻量级的进程,被视作操作系统内一种最小单位,它被应用程序利用来组织具有不同目标的任务,避免了系统资源的浪费。线程数是指一个程序中有多少个线程在同时执行任务,即使是一个最简单的应用程序,其中也会有一个主线程在跑,而日常使用到的多线...

  • SATA2.0和SATA3.0硬盘数据线有什么区别?

    SATA2.0和SATA3.0硬盘数据线有什么区别?

    问题提出:SATA2.0和SATA3.0硬盘数据线一样吗?我的主板支持SATA3.0的硬盘接口,我买了一块SATA3.0标准硬盘,发现接口的外形和SATA2.0一样,插上普通的硬盘线也能用,想知道SATA2.0和SATA3.0硬盘数...

  • 小米盒子增强版和小米盒子2哪个好?小米盒子2和增强版区别对比评测

    小米盒子增强版和小米盒子2哪个好?小米盒子2和增强版区别对比评测

    有米粉问小米盒子增强版和小米盒子2的区别有哪些?下文将从配置、价格等方面小米盒子2/增强版进行区别对比,如果你正在考虑入手一台小米盒子的话,请参考下文吧~--配置参数对比小米盒子增强版基本延续了前作的设计风格,外观上稍有变化,配置...

  • 常见系统进程大全(新手必看)

    常见系统进程大全(新手必看)

    进程,可能很多人熟悉这个字眼,特别是一些喜欢使用任务管理器的人。当某个应用程序关闭不了了的时候,可以使用任务管理器强制关闭;当电脑运行缓慢的时候,可以使用任务管理器查看哪个应用占用的系统资源较多,将其关闭等等。但这时候往往问题就出现了,因为...

  • 微博黄v和蓝v有什么区别?

    微博黄v和蓝v有什么区别?

    1.黄V是个人认证认证范围:支持娱乐、体育、传媒、财经、科技、文学出版、政府官员、人文艺术、游戏、军事航空、动漫、旅游、时尚等领域知名人士的认证申请。2.蓝V是机构认证(政府、媒体、校园、企业、网站、应用等官方帐号均可申请机构认证)。3....

  • 主分区和逻辑分区的区别

    主分区和逻辑分区的区别

    硬盘主分区和逻辑分复区区别:层属关系不同、分区不同、定义不同。合理规划和使用硬盘空间可以有效提高工作质量,查找文件及预览更加的方便。硬盘主分区和逻辑分复区区别:层属关系不同、分区不同、定义不同。合理规划和使用硬盘空间可以有效提高工作质量,查...

  • 周排行
  • 月排行
  • 年排行

精彩推荐