Java线程生命周期有以下几个状态:
1. 新建状态(New):线程被创建但还未开始执行。
2. 就绪状态(Runnable):线程已经被创建并且可以开始执行,但还未被调度执行。
3. 运行状态(Running):线程正在执行任务。
4. 阻塞状态(Blocked):线程暂时停止执行,等待某个条件的满足(比如等待I/O操作的完成)。
5. 等待状态(Waiting):线程等待另一个线程执行完特定的动作。
6. 计时等待状态(Timed Waiting):线程等待一段时间后自动返回。
7. 终止状态(Terminated):线程执行完任务,终止。
这些状态可以通过Thread类的一些方法来切换,比如start()方法可以将线程从新建状态切换到就绪状态,sleep()方法可以将线程从运行状态切换到计时等待状态等。