模型服务连接失败

为什么 JVM 没有区分 READY 和 RUNNING 两种状态?

并发JavaJava 并发
分类
Java 并发
难度
未设置
来源数
1
更新时间
2026/03/28 21:25

答案

由于操作系统的CPU调度通常是采用时间片方式进行抢占式轮转调度,而这个时间片非常小,当一个线程分配到时间片时,就从ready进入running,而经过时间片,马上进入ready,两者频繁切换,因此区分两种状态没什么意义。

相关题目(5)

Java 并发并发JavaJava 并发
Java 并发并发JavaJava 并发
Java 并发并发JavaJava 并发
Java 并发并发JavaJava 并发
Java 并发并发JavaJava 并发

元信息

审核状态: active
关联来源: 1

来源面经题(0)

这道题目前没有手动沉淀的面经题来源。

来源(1)

Java八股(并发).md

knowledge_note
Question 12: 为什么 JVM 没有区分 READY 和 RUNNING 两种状态? Source answer: 由于操作系统的CPU调度通常是采用时间片方式进行抢占式轮转调度,而这个时间片非常小,当一个线程分配到时间片时,就从ready进入running,而经过时间片,马上进入ready,两者频繁切换,因此区分两种状态没什么意义。 Reviewed answer: 因为操作系统通常采用时间片抢占式调度,线程在就绪和运行之间切换非常频繁,区分这两种状态在 JVM 层意义不大,因此统一抽象为 RUNNABLE。