首页 > 其他分享 >什么是上下文切换?

什么是上下文切换?

时间:2023-03-28 12:55:09浏览次数:34  
标签:什么 任务 时间 切换 线程 上下文 CPU

多线程编程中一般线程的个数都大于 CPU 核心的个数,而一个 CPU 核心在任意时刻只能被一个线程使用,为了让这些线程都能得到有效执行,CPU 采取的策略是为每个线程分配时间片并轮转的形式。当一个线程的时间片用完的时候就会重新处于就绪状态让给其他线程使用,这个过程就属于一次上下文切换。

概括来说就是:当前任务在执行完 CPU 时间片切换到另一个任务之前会先保存自己的状态,以便下次再切换回这个任务时,可以再加载这个任务的状态。任务从保存到再加载的过程就是一次上下文切换。

上下文切换通常是计算密集型的。也就是说,它需要相当可观的处理器时间,在每秒几十上百次的切换中,每次切换都需要纳秒量级的时间。所以,上下文切换对系统来说意味着消耗大量的 CPU 时间,事实上,可能是操作系统中时间消耗最大的操作。

Linux 相比与其他操作系统(包括其他类 Unix 系统)有很多的优点,其中有一项就是,其上下文切换和模式切换的时间消耗非常少。

 

标签:什么,任务,时间,切换,线程,上下文,CPU
From: https://www.cnblogs.com/xfeiyun/p/17263935.html

相关文章

  • 什么是分而治之
       分而治之是一种常用的解决问题的方法,它将一个大问题分割成若干个规模较小且结构相同的子问题,然后通过递归的方式分别解决这些子问题,最后将这些子问题的解合并起来,......
  • 海外tiktok需要加速器吗?Tiktok加速器为什么一定要用?
    在全球范围内,海外tiktok是一款备受欢迎的社交媒体应用,已经拥有了数亿用户。然而,由于一些不可抗因素的限制,国内用户在访问海外tiktok时会遇到问题。这时,使用Tiktok加速器可......
  • 品牌商家为什么需要做商品控价?
      电商市场的兴起,让很多人看到了电商发展的前景,纷纷开始涉足电商。但由于门槛低、利润高,一些卖家开始打起了低价促销的主意。很多品牌方在面对这些现象时都非常苦恼,随......
  • AI大数据视频智能预警平台EasyCVR服务遇到加密狗授权失败是什么原因?
    EasyCVR视频融合平台基于云边端一体化架构,具有强大的数据接入、处理及分发能力,平台支持海量视频汇聚管理,能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集......
  • 为什么要使用单例模式?
    单例设计模式(SingletonDesignPattern)理解起来非常简单.一个类只允许创建一个对象(或者实例),那这个类就是一个单例类,这种设计模式就叫作单例设计模式.简称单例模式.......
  • 小程序管理矛盾凸显,有什么解决方案?
    在微信小程序还没推出的时候,中小型公司做App的成本会比较高,而如果直接上Web端,也会造成用户的体验问题。企业开发一个成功的app非常具有挑战性,这需要一支高素质的团队,投......
  • 为什么我会持续写面经
    title:为什么我会持续写面经date:2023-03-2722:19:07categories:-感悟及认知tags:-感悟及认知为什么我会持续写面经?从我去年投出第一份简历,经历第一场面试,到......
  • 什么是SSID
    什么是SSIDSSID(ServiceSetIdentifier),许多人认为可以将SSID写成ESSID,其实不然,SSID是个笼统的概念,包含了ESSID和BSSID,用来区分不同的网络,最多可以有32个字符,无线网卡......
  • 我为什么推荐Nuxt3
    我为什么推荐Nuxt3?大家好,我今天想和你们分享一个非常棒的前端框架——Nuxt3。自从我接触了Nuxt3,我发现它在前端开发领域具有很多优点。我想逐一向你们介绍Nuxt3的优势,并向......
  • 小程序营销模版是什么?
    在数字化时代,营销活动的方式也随之改变。营销模板和小程序容器是两种现代化的数字营销技术。营销模板是一种可以快速创建专业级营销材料的软件工具,而小程序容器技术是一种基......