#Java#java线程到底有多少种状态?
文章图片
引子最近也在看面试题 , 看到线程这一块然后问线程有多少种状态 , 然后查了一些博客发现居然各种说法的都有 。 如果你对此不是很确定的话甚至是模棱两可 , 这时面试官可能问一句:你确定 ?接着你就慌了 , 然后支支吾吾不敢确定 , 也许因为这个你就跟Offer无缘了 。 没办法只能去源码中看一看 , 就是java.lang.Thread.State这个枚举类 。 阅读前加个关注呗 , 希望正在面试的你面试顺利!
代码先看代码 , 然后再看java doc文档关于状态的介绍吧 , 相信这些是最权威的了
线程状态 。 线程可以处于以下状态之一 , 一个线程在给定时间点只能处于一种状态 。 这些状态是不反映任何操作系统线程状态的虚拟机状态 。
- NEW :尚未启动的线程处于此状态
- RUNNABLE :在Java虚拟机中执行的线程处于这种状态
- BLOCKED:等待监视器锁定被阻止的线程处于此状态 。
- WAITING :无限期等待另一线程执行特定操作的线程处于此状态 。
- TIMED_WAITING: 在指定等待时间内等待另一线程执行操作的线程处于此状态 。
- 【#Java#java线程到底有多少种状态?】TERMINATED :已退出的线程处于此状态
编辑搜图
哪些方法使线程处于WAITING , 等待线程的线程状态 。 由于调用以下方法之一 , 线程处于等待状态 , 处于等待状态的线程正在等待另一个线程执行特定操作 。 例如 , 在对象上调用Object.wait()的线程正在等待另一个线程在该对象上调用Object.notify()或Object.notifyAll() 。 调用thread.join()的线程正在等待指定线程终止 。
- Object.wait with no timeout
- Thread.join with no timeout
- LockSupport.park
- Thread.sleep
- Object.wait with timeout
- Thread.join with timeout
- LockSupport.parkNanos
- LockSupport.parkUntil
- 【科学家】“太岁”到底是什么生物?科学家给出答案:科学家给出答案
- 阿里巴巴@阿里巴巴淘小铺到底是不是“天时地利人和”的赚钱机会
- [基因改造]蚊子在地球上到底有什么用?如果全被消灭了会有什么严重后果
- 新疆维吾尔自治区■老虎一旦灭绝,对人类的影响到底能有多么大?新疆的教训至今难忘!
- 『华为』抛开品牌偏见,只看产品本身,华为和苹果的差距到底有多大?
- #电池#手机充电一次充到100%电量到底是好还是坏?今天都告诉你
- 『水底奥秘』海底神秘莫测,内部到底有什么?贸然闯入者下场都很惨!
- 「」“狼狈为奸”中的狈,到底是什么生物?传说中是狼的军师!
- 「水底奥秘」海底一万米到底有多恐怖?在8200米的深海,鱼已经不是鱼了
- 军事哥谈寒武纪220页答疑离开华为怎么办,上交所追问到底