【操作系统】王道考研 p11 线程概念、多线程模型
作者:互联网
知识总览
是什么,为什么?
进程是程序的一次执行。
但有些功能不是由一个程序顺序处理就能实现的。
有的进程可能需要“同时”做很多事情,而传统的进程只能串行地执行一系列程序。
因此,引入“线程”来增加并发度。
引入线程后,线程成为了程序执行流的最小单位。
如图,进程包含线程。
可以把线程理解为“轻量级进程”。
线程是一个基本的CPU执行单元,也是程序执行流的最小单位。
引入线程后,进程之间可以并发,进程内的个线程之间也可以并发,进一步提升了系统的并发度。
引入线程后,进程只作为除CPU之外的系统资源的分配单元。
也就是说,图中这些系统资源是分配给进程的,而不是分配给线程的。
引入线程后的变化
引入线程后,进程是资源费配的基本单位,线程是调度的基本单位。
总的来说,提升并发度,且并发的开销变小。
线程的属性
注意:
线程是处理机调度的单位。
每个线程都有一个线程ID,TCB控制块。
线程几乎不拥有系统资源。
线程也有那三种基本状态。
线程的实现方式
用户级线程:
有标红的那几句比较重要
内核级线程:
二者组合方式:
内核级线程才是处理机分配的单位。
因为用户级的它看不见。
多线程模型
多对一
多个用户级&一个内核级。
优点:线程管理的系统开销小。
缺点:一个用户级被阻塞后,整个进程都会被阻塞,并发度不高,多个线程不可在多核处理器上并行运行,因为它们只对应了一个内核级线程。
一对一
优缺点直接跟上面的反过来了。
优点:并发度高。
缺点:开销大。
多对多
以上两者的结合。
总结
标签:引入,并发,p11,线程,内核,进程,多线程,系统资源 来源: https://blog.csdn.net/karshey/article/details/121665051