首页 > 试题广场 >

在Java线程状态转换时,下列转换不可能发生的有()?

[不定项选择题]
在Java线程状态转换时,下列转换不可能发生的有()?

  • 初始态->运行态
  • 就绪态->运行态
  • 阻塞态->运行态
  • 运行态->就绪态
推荐
1.要得到本题答案,根据下面简图(***版)就可以获得

拓展补充
2.Java线程的各个状态间的关系流程-简图



3.Java线程的各个状态间的关系流程-完整信息图


4.wait()、sleep()、yield()的理解
1)wait()是Object的实例方法,在synchronized同步环境使用,作用当前对象,会释放对象锁,需要被唤醒。
2)sleep()是Thread的静态方法,不用在同步环境使用,作用当前线程,不释放锁。
3)yield()是Thread的静态方法,作用当前线程,释放当前线程持有的CPU资源,将CPU让给优先级不低于自己的线程用,调用后进入就绪状态。

知识的搬运工:其他大佬的见解,推荐链接
编辑于 2018-05-24 10:43:48 回复(59)
选AC,只有就绪态和运行态可以直接相互转换,其他都是单向的。
为什么大家的图都那么丑啊。。。

发表于 2018-07-09 10:39:06 回复(12)
发表于 2017-08-23 17:48:38 回复(3)
初始->就绪->运行->阻塞->就绪->运行
发表于 2017-08-18 18:36:29 回复(0)
发表于 2019-06-16 17:29:34 回复(0)
JAVA核心技术卷I-627页

发表于 2017-08-20 18:23:14 回复(5)
给你们一张终极版
发表于 2018-02-28 10:45:18 回复(0)

根据评论整理的

Java线程状态转换

发表于 2021-01-31 16:55:31 回复(0)
1.要得到本题答案,根据下面简图(***版)就可以获得

拓展补充
2.Java线程的各个状态间的关系流程-简图



3.Java线程的各个状态间的关系流程-完整信息图


4.wait()、sleep()、yield()的理解
1)wait()是Object的实例方法,在synchronized同步环境使用,作用当前对象,会释放对象锁,需要被唤醒。
2)sleep()是Thread的静态方法,不用在同步环境使用,作用当前线程,不释放锁。
3)yield()是Thread的静态方法,作用当前线程,释放当前线程持有的CPU资源,将CPU让给优先级不低于自己的线程用,调用后进入就绪状态。

发表于 2017-11-27 09:21:20 回复(0)
准备--就绪--运行--阻塞,就绪和运行可相互转,运行到阻塞,再进就绪
发表于 2021-11-04 17:07:07 回复(0)
运行态可以直接到就绪态,两者之间可以互相转换。
发表于 2021-04-30 17:14:05 回复(0)
1)wait()是Object的实例方法,在synchronized同步环境使用,作用当前对象,会释放对象锁,需要被唤醒。 2)sleep()是Thread的静态方法,不用在同步环境使用,作用当前线程,不释放锁。 3)yield()是Thread的静态方法,作用当前线程,释放当前线程持有的CPU资源,将CPU让给优先级不低于自己的线程用,调用后进入就绪状态。
发表于 2018-12-05 16:51:46 回复(0)
``` java
public enum State {
NEW,                           // 新建,还没运行
RUNNABLE,               // 正在运行或者失去时间片可以运行
BLOCKED,                   // 阻塞,只有进入或者重新进入synchronized方法或者语句块并没获得锁的时候才会进入
WAITING,                   // 等待,park或者sleep或join才会进入
TIMED_WAITING,      // 限时等待,上面的加上时间限制
TERMINATED;          // 线程结束 
}
```
JDK对线程的定义,来自Thread.java中。
别再吹线程有什么就绪态,Linux内核中线程也没定义就绪态。
编辑于 2018-07-26 15:56:15 回复(0)
637页JAVA 核心技术
发表于 2017-08-24 20:23:14 回复(0)
所以D也是错的
发表于 2017-08-19 18:10:58 回复(1)
发表于 2022-06-25 09:10:05 回复(0)
我的理解:线程处在运行状态中,此时调用Thread.sleep()方法,线程发生阻塞,当sleep()方法结束后,线程继续执行,就是阻塞->运行啊
发表于 2022-02-25 20:29:11 回复(0)
运行态怎么直接到就绪呢!!这题D有问题,也是错误的
发表于 2017-08-21 12:35:09 回复(2)
俺也重新画了个

发表于 2024-05-23 20:18:28 回复(0)
m
编辑于 2024-03-04 18:41:02 回复(0)