Java 中线程的状态有哪几种?请详细说明每种状态的原因。
时间: 2023-06-06 10:04:25 浏览: 100
Java线程的6种状态及切换(透彻讲解).docx
Java 中线程的状态有以下五种:
1. New(新建状态):线程对象创建后,未调用 start() 方法前的状态。
2. Runnable(可运行状态):线程对象调用 start() 方法后,线程进入可执行状态,但不一定正在执行。具体执行时间由 CPU 调度器决定。
3. Blocked(阻塞状态):线程因为某些原因(比如等待 I/O、获取对象的锁等)而暂时停止执行,进入阻塞状态。在阻塞状态下,线程不会占用 CPU 资源。
4. Waiting(等待状态):线程等待某些条件满足才能继续执行,等待期间不占用 CPU 资源。
5. Timed Waiting(计时等待状态):线程等待一段时间或者等待某个条件满足后再继续执行,计时等待状态下的线程也不占用 CPU 资源。
以上五种状态是线程在运行过程中可能出现的状态,不同状态之间通过调度器进行切换。
阅读全文