操作系统——线程

什么是线程(Thread):

> 线程是进程当中的一条执行流程。

 

线程的优缺点

线程的优点:

  • 一个进程中可以同时存在多个线程
  • 各个线程之间可以并发地执行
  • 各个线程之间可以共享地址空间和文件等资源

线程的缺点:

  • 一个线程崩溃,会导致进程其他线程也崩溃!

 

线程与进程的比较

线程 = 进程 - 共享资源

  • 进程是资源分配单位,线程是CPU调度单位(进程是一个资源平台,而线程是调度资源的一个”员工“)
  • 进程拥有一个完整的资源平台,而线程只独享必不可少的资源,如寄存器和栈
  • 线程同样拥有就绪、阻塞和执行三种基本状态,同样具有状态之间的转换关系
  • 线程能减少并发执行的时间和空间开销:

               - 线程的创建时间比进程短

               - 线程的终止时间比进程短

               - 同一进程内的线程切换时间比进程短

               - 由于同一进程的各线程间共享内存和文件资源,可直接进行不通过内核的通信

线程的实现

线程的三种实现方式:

  1. 用户线程:在用户空间实现(操作系统看不到的线程,由专门的用户线程库管理)
  2. 内核线程:在内核中实现(操作系统管理起来的线程)
  3. 轻量级进程:在内核中实现,支持用户线程(主要适用于Linux)

      轻量级进程(LWP)是建立在内核之上并由内核支持的用户线程,它是内核线程的高度抽象,每一个轻量级进程都与一个特定的内核线程关联。内核线程只能由内核管理并像普通进程一样被调度。

 

 

 用户线程与内核线程对应的关系

多对一:多个用户线程对应一个内核线程

一对一:一个用户线程对应一个内核线程

多对多:多个用户线程对应多个内核线程

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值