Skip to content

多线程

记录来自马士兵 2020 关于线程的讲解:https://www.bilibili.com/video/BV1vv411k7L3?p=3

名词解释

  • 进程 资源分配的基本单位
  • 线程 程序执行的基本单位

程序的工作模型

例子 A= 1+2

  1. 从磁盘加载到内存中;
  2. 申请一个 内存区域 存放 A 指令
  3. 指令放入在 CPU 的 程序计数器中「Program Counter」
  4. 把资源、数据 1 2 放在 CPU 的寄存器中;
  5. 使用 ALU 进行计算 1 + 2 的值并写回到内存中的申请的内存区域
  6. CPU 的 PC 读取下一条指令进行操作。

线程如何调度 线程调度器 CFS,保证让每个线程均能正常工作「不存在只执行某个线程或是不执行某个线程」。

线程切换的概念 线程切换时需要记录当前执行的线程执行到那一条指令,等到下次执行时将从此进行恢复。

问题: 线程是否为越多越好?

并不是,过多的线程切换会造成资源浪费在保存线程状态