首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
说说线程的状态
[问答题]
说说线程的状态
查看答案及解析
添加笔记
求解答(0)
邀请回答
收藏(258)
分享
纠错
70个回答
添加回答
101
十七_
创建、就绪、运行、阻塞、销毁。 new一个线程后就是创建状态,执行start()方法后处于就绪状态,处于就绪状态的线程获取了cpu之后,就开始执行run()方法,这时属于运行状态,当调用sleeo()方法时就进入了人阻塞状态,最后run()方法执行完或者抛出一个异常时就销毁了。
发表于 2022-04-27 10:20:48
回复(3)
21
阐禅
线程的状态有六种: 初始:线程被创建但是话没有调用start()方法。 运行(就绪和运行),线程正在执行,但是也可能在等待操作系统的调度。 阻塞:线程正在等待获取监视器 等待:线程正在等待其他线程的中断或者通知。 超时等待:在等待的基础上增加了超时时间,超出时间后自动返回 终止:线程运行结束
发表于 2022-05-08 15:41:52
回复(0)
15
Chaos1874
1:新建态:当一个线程被创建成功后,但并没有执行它的start方时处于该状态。 2:就绪态:一个线程执行了start方法进入就绪态开始竞争cpu调度权但还没有竞争到以完成它的任务 3:运行态:一个线程对象获取到了cpu的资源调度权,并进入允许态开始完成它的任务。 4:阻塞态:若一个运行中的线程存在同步操作,此时锁被其他线程占用,该线程就会进入阻塞态等待获取锁 5:限期等待:正在运行的线程执行了Thread.spleep()方法或者设置了timeout的wait()方法,join方法等进入一定时间的等待,系统自动唤醒。 6:不限期等待:正在运行的线程执行了未设置timeout的wait方法或join方法进入等待,只有通过其他线程使用interrupt()或notify方法对其进行唤醒。 7:死亡态:线程成功执行完毕或执行中抛出异常中断了线程会进入死亡态。
发表于 2022-05-11 16:54:40
回复(0)
8
自信的大白菜
1. Java线程在运行的生命周期中,在任意给定的时刻,只能处于下列6种状态之一:
NEW :初始状态,线程被创建,但是还没有调用start方法。
RUNNABLE:可运行状态,线程正在JVM中执行,但是有可能在等待操作系统的调度。
BLOCKED :阻塞状态,线程正在等待获取监视器锁。
WTING :等待状态,线程正在等待其他线程的通知或中断。
TIMED_WTING:超时等待状态,在WTING的基础上增加了超时时间,即超出时间自动返回。
TERMINATED:终止状态,线程已经执行完毕。
发表于 2023-02-03 14:33:37
回复(1)
3
tjym
1.初始状态:线程被创建出来了,但是还没有调用start()方法; 2.可运行状态:其实有运行中和就绪两种状态; 3.阻塞状态:当线程进入 synchronized 方法/块或者调用 wait 后(被 notify)重新进入 synchronized 方法/块,但是锁被其它线程占有,这个时候线程就会进入 BLOCKED(阻塞) 状态; 4.等待状态:当线程执行 wait()方法之后,线程进入 WAITING(等待) 状态。进入等待状态的线程需要依靠其他线程的通知才能够返回到运行状态; 5.超时等待状态:相当于在等待状态的基础上增加了超时限制,比如通过 sleep(long millis)方法或 wait(long millis)方法可以将线程置于 TIMED_WAITING 状态。当超时时间结束后,线程将会返回到 RUNNABLE 状态; 6.终止状态:线程在执行完了 run()方法之后将会进入到 TERMINATED(终止) 状态。
发表于 2023-07-11 21:35:53
回复(0)
3
岑溪123
对于os来说分为:创建,就绪,运行,阻塞和终止。对于java来说分为:创建,运行,阻塞,等待,超时等待和终止
发表于 2023-01-29 10:43:34
回复(0)
3
彼岸初晴
Java中线程的状态分为6种:new runnable blocked waiting timed_waiting terminated
发表于 2022-05-04 21:42:04
回复(0)
2
桃桃爱学习
6种状态: NEW :初始状态,线程被创建,但是还没有调用start方法。 RUNNABLE:可运行状态,线程正在JVM中执行,但是有可能在等待操作系统的调度。 BLOCKED:阻塞状态,线程正在等待获取监视器锁。 WTING:等待状态,线程正在等待其他线程的通知或中断。 TIMED_WTING:超时等待状态,在WTING的基础上增加了超时时间,即超出时间自动返回。 TERMINATED:终止状态,线程已经执行完毕。
发表于 2022-10-11 18:32:45
回复(0)
2
Farewell*
线程有六个状态:初始化(线程被创建但没有调用start()方法),运行(线程调用了start方法且获得了CPU调度权限),阻塞(锁被其他线程占用,该线程等待获取到锁),等待(等待其他线程的中断或通知),超时等待(在等待基础上添加时间属性,超过时间则回到运行状态),销毁(线程run()方法执行完成或抛出异常)
发表于 2022-09-13 15:48:53
回复(0)
2
牛客117520539号
线程分为初始化、可运行状态、阻塞、等待、超时等待、销毁这六个状态 初始化是指线程被创建了但还没有调用start()方法 可运行状态是指进程调用了start()方法,并且获取到了CPU的调度权 阻塞状态是指锁被其他线程占用,该线程等待获取锁 等待是指线程正在等待其他线程的中断或通知 超时等待是指在等待的基础上增加了超时限制,在时间过后,即使没有其他其他线程的唤醒,在时间过后该线程也会回到运行状态 销毁是run()方法执行完或者抛出异常
发表于 2022-08-03 09:07:28
回复(0)
1
熬夜刷会题
新建状态:线程对象被创建, 就进入了新建状态, 就绪状态: 也可以称之为 可执行状态 ,线程被创建后, 其他线程调用start()方法,从而来启动线程, 列如 thread.start(), 处于就绪状态的线程,随时可能被cpu调度执行。 运行状态:线程获取cpu权限进行执行,线程只能通过就绪状态进入运行状态。 阻塞状态:阻塞状态 就是线程因为某些原因放弃了cpu使用权, 暂时停止运行。直到线程进入就绪状态,才有机会状态运行状态。 阻塞的情况有三种: 1. 等待阻塞: 通过调用线程的wait()方法,让线程等待某工作完成。 2. 同步阻塞:线程在获取synchronized同步锁失败(因为锁被其他线程所占用), 它会进入同步阻塞状态。 3. 其他阻塞:通过调用线程的sleep()或join()发出了I/O请求,线程会进入到阻塞状态 ,当sleep()状态超时,join()等待线程终止或者超时,或者I/O处理完毕时,线程会重新转入就绪状态。 死亡状态:线程执行完毕了或者因为异常退出了run方法,这个线程生命周期就结束。
发表于 2024-03-12 12:13:03
回复(0)
1
牛客779907321号
Java线程一共有6种状态。NEW初始状态,还没调用start方法。Runnable运行状态,线程正在JVM中执行,也可能在等待操作系统的调度。BLOCKED:阻塞状态,线程正在等待获取监视器锁。WAITING:等待状态,线程正在等待其他线程的通知或中断。TIMED_WAITING:超时等待状态,在WAITING的基础上增加了超时时间,即超出时间自动返回。TERMINATED:终止状态,线程已执行完毕。
发表于 2023-01-30 00:18:39
回复(0)
1
路L
New:新创建的线程,尚未执行; Runnable:运行中的线程,正在执行run()方法的Java代码; Blocked:运行中的线程,因为某些操作被阻塞而挂起; Waiting:运行中的线程,因为某些操作在等待中; Timed Waiting:运行中的线程,因为执行sleep()方法正在计时等待; Terminated:线程已终止,因为run()方法执行完毕。
发表于 2022-10-14 10:50:13
回复(0)
1
哒哒哒嘿嘿
New(获得资源、start())、Runnable(run())、Blocked(Synchronized)、Waiting(join、wait、notify、notifyall)、Time_waiting、(sleep、wait、join)Terminized
发表于 2022-09-06 23:00:43
回复(0)
1
牛客_正
创建、就绪、运行、阻塞、销毁
发表于 2022-06-18 20:00:47
回复(1)
1
牛客793464225号
线程有五种状态:1.准备,新建线程,没有执行start方法。2.就绪,执行start方法,初始化线程,准备时间片。3.运行,执行run方法。4.阻塞。(造成线程阻塞原因:sleep,wait,使用阻塞IO,同步锁,suspend悬挂)5.终止。
发表于 2022-06-01 11:33:31
回复(0)
1
牛客139432088号
NEW:初始化还未start RUNNABLE:可运行状态 BLOCKED:阻塞状态,等待获取锁 WAITED:等待状态,等待通知,或中断 TIMED_WAITED:超时等待,超时自动退出 TERMINATED:终止状态
发表于 2022-05-12 11:53:12
回复(0)
0
努力减肥的Lucas
创建、就绪、运行、堵塞、销毁
发表于 2024-05-14 10:08:31
回复(0)
0
犹豫的她在拧螺丝
线程的状态有六种 NEW:初始状态,线程被创建 RUNNABLE:可运行状态,线程正在运行,但是也可能在等待系统的调度 BKOCKED:阻塞状态,线程在等待获取监视器锁 WTING:等待状态,线程在等待其他线程的中断或通知 TIMED_WING:超时等待状态,在等待状态的基础上添加了超时时间,当超出时间时自动返回 TERMINATED:终止状态,线程已经执行完毕
发表于 2024-05-13 09:47:09
回复(1)
0
李飞飞飞
简单总结:线程状态分为 NEW,RUNNABLE,BLOCKED,WAITING,TIMED_WAITING,TERMINATED等六个状态,这几个状态类似计网原理中进程的创建、就绪、运行、阻塞、终止等状态,至于WAITING,TIMED_WAITING则是涉及到多个线程之间的协同工作.
发表于 2024-04-26 14:48:41
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
Java
上传者:
real19931
难度:
70条回答
258收藏
1296浏览
热门推荐
相关试题
设某二叉树的先序遍历序列为abdg...
树
评论
(1)
游戏内数据分析涉猎的少,如何证明自...
评论
(1)
之前的经历中单品数据分析的经验丰富...
评论
(1)
什么样的人适合做数据分析
评论
(1)
2022 诺瓦科技 Perl re...
perl
System Verilog
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题