进程与线程的区别

一、基本概念理解
进程:可执行程序在一个数据集合上的运行过程。
是进程实体的运行过程,是系统资源分配和调度的基本单位(具有动态、并发性、独立性、异步的特性,包括就绪、执行、阻塞3种基本状态,除此之外还额外加入新状态、终止状态、就绪/挂起、阻塞/挂起)。
引入目的:提高程序的并发性,提高系统的资源利用率和吞吐量。
线程:是比进程更小的可独立执行的基本单位(是独立调度和分派的基本单位)。
引入目的:减少程序并发执行过程中系统开销,因为进程切换的系统开销大于线程切换的系统开销。使得系统具有更好的并发性。
二、对比
1、调度方面
(1)在没有引入线程的OS中,进程是拥有资源和独立调度的基本单位;
(2)加入线程后,将资源和调度分开,目的在于减少额外开销。此时,进程是资源的拥有者和申请者,线程是独立调度和分派的基本单位;这样,因为线程不拥有资源,线程在切换时,能够减少系统切换开销同时提高并发度。
2、并发性
引入线程的OS系统,进程间可以并发执行,同一进程的多个线程间可以并发执行,是系统具有更好的并发性,提高系统资源利用率和吞吐量。
3、拥有资源
无论OS系统是否支持线程,进程都是资源拥有的基本单位,线程不占系统资源,但是会拥有部分运行必不可少的私有资源,同时同一进程间的线程共享进程的全部资源(包括进程的代码段、数据段、系统资源)。
4、系统开销
(1)线程切换的系统开销<进程切换的系统开销。
(2)PCB(进程控制块)是进程存在的唯一标志,所以在创建或者撤销进程时,系统都要跟着创建或回收PCB、系统资源等;
(3)切换时进程需要保存和恢复CPU环境,而线程的切换只需要保存和恢复少量寄存器资源,不会涉及到存储器管理,因而系统开销会小一些。
(4)同一进程的多个线程具有相同的地址空间,使线程的同步和通信更加方便。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值