线程上下文切换(Thread Context Switch) 是指:
CPU 从一个线程切换到另一个线程执行时,需要保存当前线程的状态,并恢复下一个线程的状态的过程。
CPU 核心在同一时刻只能执行一个线程。
为了让多个线程“同时”运行(尤其是单核或多核但线程数多于 CPU 核数时),操作系统需要:
这就是上下文切换存在的根本原因。
线程上下文主要包括:
eax、ebx 等)假设从 线程 A 切换到线程 B:
对线程来说,切换是“无感知”的,只是看起来被暂停了一会儿。
| 对比项 | 线程切换 | 进程切换 |
|---|---|---|
| 地址空间 | 不变(同一进程) | 切换页表、内存映射 |
| 开销 | 较小 | 较大 |
| 切换内容 | 寄存器等 | 寄存器 + 内存管理信息 |
| 是否涉及内核 | 通常要 | 必须 |
✅ 线程切换比进程切换轻量得多,这也是多线程的优势之一。
sleep、wait、I/O)线程上下文切换就是:CPU 在切换线程时,保存旧线程状态、恢复新线程状态的过程,是多线程并发的基础,但也会带来性能开销。
如果你愿意,我也可以:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。