Skip to content

Latest commit

 

History

History
69 lines (38 loc) · 2.74 KB

2.1_5_线程概念和多线程模型.md

File metadata and controls

69 lines (38 loc) · 2.74 KB

2.1_5_线程概念和多线程模型

1.大纲

image-20210603205252870

2.什么是线程,为什么要引入线程?

image-20210603205517658

image-20210603205626695

有的进程需要“同时”做很多事情,但是传统的进程只能串行的执行一系列程序。所以,引入了“线程”的概念,从而增加并发度

  • 在传统的进程概念中,进程是程序执行流的最小单位
  • 引入线程后,线程成为了程序执行流的最小单位!

image-20210603210250536

  • 线程是一个基本的CPU执行单元,也是程序执行流的最小单位
  • 线程的好处:提升了系统的并发度
  • 从此之后,进程成为了除CPU之外的系统资源的分配单元

3.引入线程机制后,有什么变化?

image-20210603211308356

  • 线程是一种“轻量级的进程”

4.线程的属性

image-20210603211431637

  • 线程几乎不拥有系统资源
  • 由于共享内存地址空间,同一进程中的线程间通信几乎不需要系统干预
  • 不同进程间的线程切换,会引起进程切换

5.线程的实现方式

image-20210603211755569

  • 用户及线程对操作系统是透明的

image-20210603211856531

image-20210603211939418

  • 内核级线程是处理及分配的单位 ,用户级线程对处理机透明

6.多线程模型

image-20210603212129015

  • 线程管理开销小,效率高
  • 并发度不高

image-20210603212318731

  • 并发能力强
  • 线程管理成本高,开销大

image-20210603212844143

  • 一种折中 的解决方案

7.总结

image-20210603213005168