1
0
mirror of https://github.com/Snailclimb/JavaGuide synced 2025-06-20 22:17:09 +08:00

错别字更改

Java 并发基础常见面试题总结->7. 什么是上下文切换?->"会"更改为“回”
This commit is contained in:
RyzeZhao 2019-10-21 11:14:41 +08:00 committed by GitHub
parent ec06681d1e
commit e298b50922
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -158,7 +158,7 @@ Java 线程在运行的生命周期中的指定时刻只可能处于下面 6 种
多线程编程中一般线程的个数都大于 CPU 核心的个数,而一个 CPU 核心在任意时刻只能被一个线程使用为了让这些线程都能得到有效执行CPU 采取的策略是为每个线程分配时间片并轮转的形式。当一个线程的时间片用完的时候就会重新处于就绪状态让给其他线程使用,这个过程就属于一次上下文切换。
概括来说就是:当前任务在执行完 CPU 时间片切换到另一个任务之前会先保存自己的状态,以便下次再切换这个任务时,可以再加载这个任务的状态。**任务从保存到再加载的过程就是一次上下文切换**。
概括来说就是:当前任务在执行完 CPU 时间片切换到另一个任务之前会先保存自己的状态,以便下次再切换这个任务时,可以再加载这个任务的状态。**任务从保存到再加载的过程就是一次上下文切换**。
上下文切换通常是计算密集型的。也就是说,它需要相当可观的处理器时间,在每秒几十上百次的切换中,每次切换都需要纳秒量级的时间。所以,上下文切换对系统来说意味着消耗大量的 CPU 时间,事实上,可能是操作系统中时间消耗最大的操作。