-
状态名称 说明 new 初始状态,线程被构建,但是还没有调用start()方法 runnable 运行状态,Java将 就绪态ready和运行态sunning 笼统的叫做运行中(被JVM隐藏了) blocked 阻塞状态,表示线程阻塞于锁 waiting 等待状态,线程进入等待状态后需要等待其他线程做出一些特定动作(通知或中断) time_waiting 等待超时状态,该状态不同于waiting,可以在指定的时间自行返回 terminated 终止状态,表示当前线程已经执行完毕 -
线程创建之后它将处于 NEW(新建) 状态,调⽤ start() ⽅法后开始运⾏,线程这时候处于 READY(可运⾏) 状态。可运⾏状态的线程获得了 cpu 时间⽚(timeslice)后就处于 RUNNING(运 ⾏) 状态。
-
当线程执⾏ wait() ⽅法之后,线程进⼊ WAITING(等待)状态。进⼊等待状态的线程需要依靠其他线 程的通知才能够返回到运⾏状态,⽽
-
TIME_WAITING(超时等待) 状态相当于在等待状态的基础上增加了 超时限制,⽐如通过 sleep(long millis) ⽅法或 wait(long millis) ⽅法可以将 Java 线程置于 TIMED WAITING 状态。当超时时间到达后 Java 线程将会返回到 RUNNABLE 状态。
-
当线程调⽤同步⽅法 时,在没有获取到锁的情况下,线程将会进⼊到 BLOCKED(阻塞) 状态。线程在执⾏ Runnable 的 run() ⽅法之后将会进⼊到 TERMINATED(终⽌) 状态。
操作系统-Java线程的几种基本状态?
最新推荐文章于 2024-08-03 00:11:12 发布
本文详细介绍了Java线程的六种状态:新建、可运行、运行、阻塞、等待和超时等待、终止,并阐述了状态间的转换。线程在调用start()后进入可运行状态,等待CPU分配时间片执行。当线程调用wait()或进入同步块未获取锁时,会进入等待或阻塞状态。超时等待可通过sleep()或wait()指定时间限制。完成run()方法后,线程进入终止状态。
6889

被折叠的 条评论
为什么被折叠?



