java线程的六种状态
时间: 2024-04-19 08:24:40 浏览: 114
Java线程有以下六种状态:
1. 新建(New):当线程对象被创建但还没有调用start()方法时,线程处于新建状态。
2. 运行(Runnable):线程调用start()方法后,线程进入运行状态。在运行状态下,线程可能正在执行,也可能正在等待CPU时间片。
3. 阻塞(Blocked):线程在特定情况下会进入阻塞状态,例如等待某个资源释放或者等待输入/输出完成。在阻塞状态下,线程将暂停执行。
4. 等待(Waiting):线程在某个对象上调用wait()方法后,线程进入等待状态。只有在其他线程中调用了该对象的notify()或者notifyAll()方法,等待状态的线程才会被唤醒。
5. 超时等待(Timed Waiting):线程在某个对象上调用了带有超时参数的wait()方法后,线程进入超时等待状态。在指定的时间内,如果其他线程中调用了该对象的notify()或者notifyAll()方法,超时等待状态的线程会被唤醒。
6. 终止(Terminated):线程执行完run()方法后,或者发生了未捕获的异常导致run()方法提前结束,线程进入终止状态。
这些状态可以通过Thread类的getState()方法获取。
阅读全文