线程的基本概念

为了让一个进程宏观上可以同时做很多事情,我们引入线程来增加并发度

可以把线程理解为“轻量级进程”

线程是一个基本的 CPU 执行单元,也是程序执行流的最小单位。引入线程之后,不仅是进程之间可以并发,进程内的各线程之间也可以并发,从而进一步提升了系统的并发度,使得一个进程内也可以并发处理各种任务(如 QQ 视频、文字聊天、传文件)

引入线程后,进程只作为除 CPU 之外的系统资源的分配单元(如打印机、内存地址空间等都是分配给进程的)

tmpEAAB.png

image.png

线程的实现方式

用户级线程

早期的操作系统只支持进程,不支持线程,当时的线程是由线程库来实现的

简单示意如下:

image.png

内核级线程

线程的管理工作由操作系统完成

线程的切换需要操作系统转换