操作系统-06-线程

操作系统-06-线程

前言

mark

1. 为什么要引入线程?

mark

  • 为了方便于理解,我打开了我的任务管理器,可以看出chrome一个进程,下面有很多分支,可以把这些分支当做线程看待,PID即进程和线程都有的标识符。

mark

2. 线程的定义

mark

  • 资源分配、调度
    传统进程机制中,进程是资源分配、调度的基本单位
    引入线程后,进程是资源分配的基本单位,线程是调度的基本单位
  • 并发性
    传统进程机制,只能进程间并发
    现在各线程之间也能并发
  • 系统开销
    传统进程并发,需要切换进程的运行环境,系统开销大
    同一个进程内的线程间并发,不需要切换环境,开销小

3. 线程的属性

mark

内核线程是处理机调度的单位,线程几乎不拥有系统资源,同一个进程的线程间共享进程资源,各个线程可以占用不同的CPU。 线程有自己的ID,线程控制块TCP,线程也有就绪、阻塞、运行三种基本状态。 同一进程内的线程通信无需系统干预,线程切换不会引起进程切换,系统开销很小。 不同进程的线程切换会导致进程切换。

4. 线程的实现方式

用户级线程

mark

内核级线程

mark

组合方式

mark

5. 多线程模型

多对一模型

mark

一对一模型

mark

多对多模型

mark

参考书籍:《王道考研计算机操作系统》

参考博客https://mubu.com/doc/Cd-Y4YOfkh#o-1d01735b78f18c07f

打赏
  • 版权声明: 本博客所有文章除特别声明外,均采用 Apache License 2.0 许可协议。转载请注明出处!
  • © 2019-2022 Zhuuu
  • PV: UV:

请我喝杯咖啡吧~

支付宝
微信