首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
在Java线程状态转换时,下列转换不可能发生的有()?
[不定项选择题]
在Java线程状态转换时,下列转换不可能发生的有()?
初始态->运行态
就绪态->运行态
阻塞态->运行态
运行态->就绪态
添加笔记
邀请回答
收藏(6164)
分享
60个回答
添加回答
705
推荐
FEFJay
1.要得到本题答案,根据下面简图(***版)就可以获得
拓展补充
2.Java线程的各个状态间的关系流程-简图
3.
Java线程的各个状态间的关系流程-完整信息图
4.wait()、sleep()、yield()的理解
1)wait()是Object的实例方法,在
synchronized同步环境使用,作用当前对象,会释放对象锁,需要被唤醒。
2)sleep()是Thread的静态方法,不用在同步环境使用,作用当前线程,不释放锁。
3)yield()
是Thread的静态方法,作用当前线程,释放当前线程持有的CPU资源,将CPU让给优先级不低于自己的线程用,调用后进入就绪状态。
知识的搬运工:其他大佬的见解,推荐链接
https://my.oschina.net/mingdongcheng/blog/139263
https://www.toutiao.com/i6368772681411592706/
http://www.jianshu.com/p/25e959037eed
编辑于 2018-05-24 10:43:48
回复(59)
103
bbblemon
选AC,只有就绪态和运行态可以直接相互转换,其他都是单向的。
为什么大家的图都那么丑啊。。。
发表于 2018-07-09 10:39:06
回复(12)
41
doer3
发表于 2017-08-23 17:48:38
回复(3)
13
I'maMother***Star
初始->就绪->运行->阻塞->就绪->运行
发表于 2017-08-18 18:36:29
回复(0)
12
叶磊201905122010454
发表于 2019-06-16 17:29:34
回复(0)
9
笨小孩k
JAVA核心技术卷I-627页
发表于 2017-08-20 18:23:14
回复(5)
6
游离
给你们一张终极版
发表于 2018-02-28 10:45:18
回复(0)
4
闪电利剑
根据评论整理的
发表于 2021-01-31 16:55:31
回复(0)
3
选择024
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)
2
牛客59880486号
准备--就绪--运行--阻塞,就绪和运行可相互转,运行到阻塞,再进就绪
发表于 2021-11-04 17:07:07
回复(0)
2
海海不掉头发
运行态可以直接到就绪态,两者之间可以互相转换。
发表于 2021-04-30 17:14:05
回复(0)
2
大橘已定
从源码解读线程(Thread)和线程池(ThreadPoolExecutor)的状态
发表于 2019-03-26 16:23:12
回复(0)
2
牛客143068号
1)wait()是Object的实例方法,在synchronized同步环境使用,作用当前对象,会释放对象锁,需要被唤醒。 2)sleep()是Thread的静态方法,不用在同步环境使用,作用当前线程,不释放锁。 3)yield()是Thread的静态方法,作用当前线程,释放当前线程持有的CPU资源,将CPU让给优先级不低于自己的线程用,调用后进入就绪状态。
发表于 2018-12-05 16:51:46
回复(0)
2
payall4u
``` 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)
2
末日梨花
637页JAVA 核心技术
发表于 2017-08-24 20:23:14
回复(0)
2
LeoLiu940214
所以D也是错的
发表于 2017-08-19 18:10:58
回复(1)
1
李赤水
发表于 2022-06-25 09:10:05
回复(0)
1
若人生只如初见QAQ
我的理解:线程处在运行状态中,此时调用Thread.sleep()方法,线程发生阻塞,当sleep()方法结束后,线程继续执行,就是阻塞->运行啊
发表于 2022-02-25 20:29:11
回复(0)
1
Dobbin
运行态怎么直接到就绪呢!!这题D有问题,也是错误的
发表于 2017-08-21 12:35:09
回复(2)
0
geigeofferqiuqiule
俺也重新画了个
发表于 2024-05-23 20:18:28
回复(0)
0
牛客893902513号
m
编辑于 2024-03-04 18:41:02
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
Java
来自:
完美世界2017校招技...
上传者:
赞花婆
难度:
60条回答
6164收藏
12749浏览
热门推荐
相关试题
在一个基于分布式的游戏服务器系统中...
Java
评论
(104)
来自
完美世界2017校招技术...
在一个IP数据包到达目的地之前,可...
网络基础
评论
(13)
来自
完美世界2017校招技术...
以下代码执行的结果显示是多少()?
Java
评论
(149)
来自
完美世界2017校招技术...
以下代码执行的结果是多少()?
Java
评论
(242)
来自
完美世界2017校招技术...
市场与销售的区别在哪里?
市场营销
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题