前言
面试题:”你知道线程的生命周期吗?请说说对线程状态的理解“。
知识点
线程的生命周期是指一个完整的线程,要经过新建(New)、可运行状态(Runable)、阻塞状态(Blocked)、等待状态(Waiting)、和终止状态(Terminated)这五种生命状态,并且它们之间是可以相互切换的:

1.new
new状态就是当你创建线程对象这个阶段的线程状态,此时新建了一个线程对象,但是还没有调用start()方法,所以这个阶段下线程还是不存在的。只有调用Thread.start()方法后,JVM才会真正创建一个线程。
在调用完start()方法后,线程便进入到Runnable状态:

2.Runnable
可运行状态指的就是当前线程拥有CPU的调度资格,随时可以切换到运行状态,当CPU时间片没有分配给当前线程的时候,它就永远处于可运行状态。所以会有以下几种情况线程会处于Runnable状态:
- 线程执行完start()

本文介绍了Java线程的生命周期,包括新建、可运行、阻塞、等待和终止状态,详细阐述了各状态之间的切换条件,以及如何判断线程是否可运行。通过理解这些知识点,有助于深化对Java线程基础的理解。
最低0.47元/天 解锁文章
540

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



