Thread

why need it

  • 希望计算机在同一时间可以执行多个任务

  • 将代码以更加优雅的方式组织 解耦 减少运行的复杂度

  • 并行运算 利用现代计算机多核CPU的硬件优势

一个线程 = 一个串行执行代码的单元

他本身自己是有状态的(PCB)

含有:

PC 程序计数器

存储变量(寄存器)

Stack 程序当前的执行点 与PC不同 pc是记录运行的位置 stack则是记录当前程序的执行点(具体的执行信息)

而多线程的并行运行策略

主流是为 一个CPU在多个线程之间来回切换 即俗称的线程上下文切换