这题本质上是在问:上下文切换时,到底切了什么,为什么线程切换成本通常更低。
一、什么是上下文切换
CPU 在某一时刻只能执行一个线程或一个进程中的线程。当操作系统暂停当前执行单位,转而去运行另一个执行单位时,就发生了上下文切换。
所谓上下文,就是为了让任务将来还能从原位置继续执行,需要保存下来的那一组运行状态。
典型包括:
- 程序计数器
- 寄存器值
- 栈指针
- 调度状态
如果这些信息不保存,下次切回来时,程序就不知道该从哪里继续执行。
2026/3/26...大约 3 分钟
这题本质上是在问:上下文切换时,到底切了什么,为什么线程切换成本通常更低。
CPU 在某一时刻只能执行一个线程或一个进程中的线程。当操作系统暂停当前执行单位,转而去运行另一个执行单位时,就发生了上下文切换。
所谓上下文,就是为了让任务将来还能从原位置继续执行,需要保存下来的那一组运行状态。
典型包括:
如果这些信息不保存,下次切回来时,程序就不知道该从哪里继续执行。