线程与进程的区别

线程与进程有很多类似的性质,因此人们习惯上也陈线程为轻量级进程(lightweight process, LWP),是CPU调度和分派的基本单位;而传统意义上的进程则被称为重量级进程(heavyweight process, HWP),从现代角度看,就是只拥有一个线程的进程。

从调度,并发性,系统开销和拥有资源四方面对线程和进程进行比较。

调度:

线程作为CPU调度和分派的基本单位,进程则作为资源拥有的基本单位。同一

进程中的线程切换不会引起进程切换,从而避免昂贵的系统调用,但是从一个进程

的线程切换到另一个进程的线程时,依然会引起进程切换。

并发性:

在引入线程的操作系统中,不仅进程间可以并发执行,而且在一个进程中的多

个线程之间也可以并发执行,因而是操作系统有更好的并发性,从而能更有效地使

用系统资源和提高系统的吞吐量。

系统开销:

由于在创建或者撤销进程时,系统都要为之分配或回收资源,因此,操作系统

所付出的开销将显著地大于创建或者撤消线程的开销。在进程切换时,涉及到整个

当前进程CPU环境的保存以及新被调度运行的进程的CPU环境的设置,而线程切

换只需要保存和设置少量寄存器的内容,并不涉及存储器管理方面的操作。同时,

由于同一个进程中的多个线程具有相同的地址空间,致使它们之间的同步和通信的

实现也变得比较容易。

拥有资源:

进程是拥有系统资源的一个独立的单位,它可以拥有自己的资源。线程自己一

般不拥有资源(有一点必不可少的资源,程序计数器,一组寄存器和栈),但它可以

访问其隶属进程的资源,如进程代码段,数据段以及系统资源(已打开的文件,I/O

设备等)。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值