20170925_线程和进程的区别

20170925_线程和进程的区别

从以下几方面进行阐述:

1、调度。

在传统操作系统中,拥有资源和被操作系统独立调度的基本单位都是进程。但是引入线程之后,线程成为操作系统独立调度的基本单位,而进程则仍是拥有系统资源的独立单位。

在同一进程中,线程的切换不会引起进程的切换。但是,不同进程中线程的切换势必会引起进程之间的切换。

2、拥有资源。

不论是传统的还是引入线程概念的操作系统,进程都是拥有系统资源的基本单位,线程不拥有资源(除了一点线程运行时所必须要的资源),但是线程共享其隶属进程的系统资源。

3、并发性。

在引入线程的操作系统中,不仅操作系统内的进程可以并发执行,而且同一进程内的线程也可以并发执行,从而可以使操作系统具有更好的并发性,大大提高了系统吞吐量。

4、系统开销。

创建和销毁进程时,系统都要为之分配或回收资源,如内存空间、IO设备等,因此操作系统所付出的开销远大于创建或撤销线程的开销。

类似的,在进行进程切换时,涉及当前执行进程CPU环境的保护以及新调度的进程CPU环境的设置,这是需要花时间的;而线程切换时只需要保存和设置少量寄存器内容,因此开销很小。

另外,由于同一进程内的多个线程共享进程的地址空间,因此这些线程之间的同步和通信都比较容易实现。

5、地址空间。

进程的地址空间是相互独立的,同一进程内的线程是共享进程的资源的,某一个进程内的线程对于其他进程来说是不可见的。

6、通信方面。

进程之间的通信需要特殊的IPC机制,需要借助操作系统,而进程内的线程之间的通信可以直接读写数据段(如全局变量等)来进行通信。





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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值