线程

#为什么要引入线程

  • 有的进程可能需要“同时”做很多事
  • 传统的进程只能串行执行一系列程序,故引入线程,来增加并发度。
  • Pasted image 20260623205756.png
  • 引入线程后,线程成为了程序执行流的最小单位
  • #何为线程

  • 线程,是一个基本的CPU执行单元,也是程序执行流的最小单元
  • 引入线程后,不仅是进程之间可以并发,进程内的各个线程之间也可以并发,从而提升了系统的并发度,使得一个进程捏也可以并发处理各种任务。
  • 引入线程后,进程只作为除了CPU之外的系统资源的分配单元
  • #线程的重要属性

  • 线程是处理机调度的单位
  • 多CPU计算机中,各线程可占用不同CPU
  • 每个线程都有一个线程ID,线程控制块TCB
  • 线程也有就绪,阻塞,运行,三种基本状态
  • 线程几乎不拥有系统资源
  • 同一进程的不同线程间共享进程的资源
  • 由于共享内存地址空间,同一进程中的线程间通信甚至无需系统干预
  • 同一进程中的线程切换,不会引起进程切换
  • 不同进程间的线程切换,会引起进程切换
  • 切换同进程内的线程,系统开销很小
  • 切换进程,系统开销较大