千锋教育-做有情怀、有良心、有品质的职业教育机构

当前位置:首页  >  IT面试题  >  物联网  >  正文

什么是上下文切换

来源:千锋教育
作者:wjy
关键词: 大连 广州
2022-09-26
分享

  即使单核处理器也支持多线程执行代码,CPU通过给每个线程分配CPU时间片来实现这个机制。

什么是上下文切换

  时间片是CPU分配给各个线程的时间,因为时间片非常短,所以CPU通过不停地切换线程执行,让我们感觉多个线程是同时执行的。(时间片一般是几十毫秒) CPU通过时间片分配算法来循环执行任务,当前任务执行一个时间片后会切换到下一个任务。

  但是,在切换前会保存上一个任务的状态,以便下次切换回这个任务时,可以再加载这个任务的状态。

  所以任务从保存到加载的过程就是一次上下文切换,上下文切换会影响多线程的执行速度。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

相关推荐

  • 什么是上下文切换 时间片是CPU分配给各个线程的时间,因为时间片非常短,所以CPU通过不停地切换线程执行,让我们感觉多个线程是同时执行的。(时间片一般是几十毫秒) CPU通过时间片分配算法来循环执行任务,当前任务执行一个时间片后会切换到下一个任务。
  • 为什么程序计数器、虚拟机栈和本地方法栈是线程私有的呢? 1、字节码解释器通过改变程序计数器来依次读取指令,从而实现代码的流程控制,如:顺序执行、选择、循环、异常处理。 2、在多线程的情况下,程序计数器用于记录当前线程执行的位置,从而当线程被切换回来的时候能够知道该线程上次运行到哪儿了。
  • 什么时候用多线程?什么时候用多进程? 1)需要频繁创建销毁的优先用线程 原因请看上面的对比。 这种原则最常见的应用就是Web服务器了,来一个连接建立一个线程,断了就销毁线程,要是用进程,创建和销毁的代价是很难承受的