东莞列举网 > 商务服务 > 网站/软件服务 > 探讨线程与进程的区别
东莞
[切换城市]

探讨线程与进程的区别

更新时间:2022-07-21 10:07:54 浏览次数:41次
区域: 东莞 > 南城
类别:IDC服务
地址:南城高盛科技大厦
进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握。关于多进程和多线程,教科书上经典的一句话是“进程是资源分配的小单位,线程是CPU调度的小单位”。线程是程序中一个单一的顺序控制流程。进程内一个相对独立的、可调度的执行单元,是系统独立调度和分派CPU的基本单位指运行中的程序的调度单位。在单个程序中同时运行多个线程完成不同的工作,称为多线程。
进程和线程区别
进程是资源分配的基本单位。所有与该进程有关的资源,都被记录在进程控制块PCB中。以表示该进程拥有这些资源或正在使用它们。另外,进程也是抢占处理机的调度单位,它拥有一个完整的虚拟地址空间。当进程发生调度时,不同的进程拥有不同的虚拟地址空间,而同一进程内的不同线程共享同一地址空间。
与进程相对应,线程与资源分配无关,它属于某一个进程,并与进程内的其他线程一起共享进程的资源。线程只由相关堆栈(系统栈或用户栈)寄存器和线程控制表TCB组成。寄存器可被用来存储线程内的局部变量,但不能存储其他线程的相关变量。
通常在一个进程中可以包含若干个线程,它们可以利用进程所拥有的资源。在引入线程的操作系统中,通常都是把进程作为分源的基本单位,而把线程作为独立运行和独立调度的基本单位。
由于线程比进程更小,基本上不拥有系统资源,故对它的调度所付出的开销就会小得多,能更的提高系统内多个程序间并发执行的程度,从而显著提高系统资源的利用率和吞吐量。
因而近年来推出的通用操作系统都引入了线程,以便进一步提高系统的并发性,并把它视为现代操作系统的一个重要指标。
线程与进程的区别特点
1:地址空间和其它资源(如打开文件):进程间相互独立,同一进程的各线程间共享。某进程内的线程在其它进程不可见。
2:通信:进程间通信IPC,线程间可以直接读写进程数据段(如全局变量)来进行通信——需要进程同步和互斥手段的辅助,以保证数据的一致性。
3:调度和切换:线程上下文切换比进程上下文切换要快得多。
4:在多线程OS中,进程不是一个可执行的实体。
温馨提示:
无进程下再多线程运行不了
一个进程可以包含多个线程
不同进程间数据很难共享
同一进程下不同线程间数据很易共享
进程要比线程消耗更多的计算机资源
进程间不会相互影响,一个线程挂掉将导致整个进程挂掉
进程可以拓展到多机,进程多适合多核
进程使用的内存地址可以上锁,即一个线程使用某些共享内存时,其他线程必须等它结束,才能使用这一块内存。
进程使用的内存地址可以限定使用量
东莞网站/软件服务相关信息
制造业网站建设
其他-常平
3月18日 刷新
注册时间:2021年07月02日
UID:725737
---------- 认证信息 ----------
手机已认证
查看用户主页