返回

进程、线程、协程

255 字1 分钟阅读更新于 2026.10.08

进程切换开销

  1. 直接开销•
    • 切换页表全局目录(PGD)
    • 切换内核态堆栈
    • 切换硬件上下文(进程恢复前,必须装入寄存器的数据统称为硬件上下文)
    • 刷新TLB
    • 系统调度器的代码执行
  2. 间接开销
    • CPU 缓存失效导致的进程需要到内存直接访问的IO 操作变多

线程切换开销

  • 线程本质上只是一批共享资源的进程,线程切换本质上依然需要内核进行进程切换
  • 一组线程因为共享内存资源,因此一个进程的所有线程共享虚拟地址空间
  • 线程切换相比进程切换,主要节省了虚拟地址空间的切换

协程切换开销

用户线程无需内核帮助,应用程序在用户空间创建的可执行单元,创建销毁完全在用户态完成

下一篇IO模型

讨论