编程中上下文切换的理解

  • 主题: 上下文切换
  • 作者: Rocky_Yu
  • 时间: 2019/3/6 17:16:14
  • 分类: 9.1-编程杂记
  • Version: 1.0.0
    ******************************************************
    Even in the darkness, you’ll see the truth.
    *******************************************************

编程中的上下文切换(Context Switch)

今天在看多线程是提到了一个上下文切换的概念,感觉不是特别懂,查阅了相关资料,写下了一些初步的理解。
要理解上下文切换首先要理解什么是上下文

在多线程编程中,因为线程切换频繁,而每个线程要正确执行,需要对一些初始化的变量,而对每个进程来说,所需要的变量等使得线程正常执行的元素(或需求)大多都不相同,所以就要在执行A线程时,加载A线所需要的元素,在执行B线程时,需要加载B线程所需要的元素。这些元素就可理解为上下文。而上下文切换,就是在这些交替保存和加载这些元素。

上下文切换的一个缺点是占用内存:在线程在A临时挂起时,操作系统就要保存A的上下文,等A再次运行时再恢复。

下面例举几个关于上下文的例子,帮助理解:线程上下文、应用上下文、请求上下文等。

********************************************************************
即时身处黑暗之中,你也能够看到真相!——《神盾局特工》
*
*******************************************************************

你可能感兴趣的:(编程杂记)