java线程生命周期的状态有哪些
Java线程的生命周期有以下几种状态:
1. 新建(New):当线程对象被创建时,该线程处于新建状态。
2. 就绪(Runnable):当线程对象调用 `start()` 方法后,该线程处于就绪状态,等待获得CPU时间片履行。
3. 运行(Running):当线程取得CPU时间片后,该线程处于运行状态,履行线程的 `run()` 方法中的代码。
4. 阻塞(Blocked):在某些情况下,线程可能由于等待某个资源还是锁等缘由而暂时停止履行,此时线程进入阻塞状态。
5. 等待(Waiting):线程处于等待状态,可能由于调用了 `wait()` 方法,还是调用了 `join()` 方法加入了其他线程的等待队列。
6. 超时等待(Timed Waiting):线程处于超时等待状态,可能由于调用了 `sleep()` 方法,还是调用了 `wait(long timeout)` 方法指定了等待时间。
7. 终止(Terminated):当线程的 `run()` 方法履行完成,还是线程被中断时,该线程处于终止状态。
TOP