java 线程的几种状态
时间: 2023-08-05 16:29:29 浏览: 152
Java线程有以下几种状态:
1. 新建状态(New):当线程对象被创建时,它处于新建状态,此时它还没有启动。
2. 运行状态(Runnable):当线程被 start() 方法启动后,它就处于运行状态。此时线程可能正在执行,也可能正在等待 CPU 时间片。
3. 阻塞状态(Blocked):当线程因为某些原因无法获取到所需的资源(例如等待 I/O 完成、等待获取 synchronized 锁等)而暂停执行时,它就处于阻塞状态。
4. 等待状态(Waiting):当线程调用了 wait()、join()、park() 等方法后,它就进入了等待状态。等待状态的线程需要等待其他线程的通知或者等待一定时间后自动唤醒。
5. 计时等待状态(Timed Waiting):和等待状态类似,但这种状态有一个等待超时时间,当等待超时后线程会自动唤醒。
6. 终止状态(Terminated):当线程的 run() 方法执行完毕或者因为异常等原因导致线程终止时,它就处于终止状态。
阅读全文