程序员社区

(Java并发面试题) 在多线程中,什么是上下文切换(context-switching)?

单核CPU也支持多线程执行代码,CPU通过给每个线程分配CPU时间片来实现这个机制。时间片是CPU分配给各个线程的时间,因为时间片非常短,所以CPU通过不停地切换线程执行,让我们感觉多个线程时同时执行的,时间片一般是几十毫秒(ms)。

操作系统中,CPU时间分片切换到另一个就绪的线程,则需要保存当前线程的运行的位置,同时需要加载需要恢复线程的环境信息。

alt text

赞(0) 打赏
未经允许不得转载:IDEA激活码 » (Java并发面试题) 在多线程中,什么是上下文切换(context-switching)?

一个分享Java & Python知识的社区