进程(二)------------进程与线程

线程的优点:

·(1)在一个已有进程中创建一个新线程比创建一个全新进程所需的时间少很多。

·(2)终止一个线程比终止一个进程花费的时间少。

·(3)同一进程内线程间切换比进程间切换花费的时间少。

·(4)线程提高了不同的执行程序间通信的效率。

用户级线程

有关线程管理的所有工作都由应用程序完成,内核意识不到线程的存在。

·优点:

0线程切换不需要内核态特权;

0调度可以是应用程序相关的;

0用户级线程可以在任何操作系统中运行,不需要对底层内核进行修改以支持用户级线程。

·缺点:

0当执行一个系统调用时,会阻塞进程中所有线程;

0无法利用多处理技术。

内核级线程

·有关线程管理的工作由内核完成,应用程序只有一个到内核线程设施的应用程序编程接口。

·优点:

0内核可同时把同一进程中的多个线程调度到多个处理器中;

0若进程中的一个线程被阻塞,内核可以调度同一进程中的另一个线程;

0内核例程本身也可以使用多线程。

·缺点:

0在把控制从一个线程传送到同一个进程内的另一个线程时,需要内核的状态切换。

进程与线程的区别

进程 进程是资源分配的基本单位。 进程控制块 (Process Control Block, PCB) 描述进程的基本信息和运行状态,所谓的创建进程和撤销进程,都是指对 PCB 的操作。

线程 线程是独立调度的基本单位。 一个进程中可以有多个线程,它们共享进程资源。 QQ 和浏览器是两个进程,浏览器进程里面有很多线程,例如 HTTP 请求线程、事件响应线程、渲染线程等等,线程的并发执行使得在浏览器中点击一个新链接从而发起 HTTP 请求时,浏览器还可以响应用户的其它事件

两者之间的区别:

(一)拥有资源

进程是资源分配的基本单位,但是线程不拥有资源,线程可以访问隶属进程的资源。

(二)调度

线程是独立调度的基本单位,在同一进程中,线程的切换不会引起进程切换,从一个进程内的线程切换到另一个进程中的线程时,会引起进程切换。

(三)系统开销

由于创建或撤销进程时,系统都要为之分配或回收资源,如内存空间、I/O 设备等,所付出的开销远大于创建或撤销线程时的开销。类似地,在进行进程切换时,涉及当前执行进程 CPU 环境的保存及新调度进程 CPU 环境的设置,而线程切换时只需保存和设置少量寄存器内容,开销很小。

(四)通信方面

进程间通信 (IPC) 需要进程同步和互斥手段的辅助,以保证数据的一致性。而线程间可以通过直接读/写同一进程中的数据段(如全局变量)来进行通信。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值