-
新建状态(New) :
- 线程被创建,但还未启动。在这个状态下,线程还没有分配到处理器资源,因此不会执行。
-
就绪状态(Runnable) :
- 线程已经被创建,并且已经启动,但并未阻塞,可以立即执行。处于就绪状态的线程可能会等待分配处理器资源,一旦获得资源就会进入运行状态。
-
运行状态(Running) :
- 线程正在执行其任务,处于活动状态。在这个状态下,线程获得了处理器资源并且正在执行其代码。
-
阻塞状态(Blocked) :
- 线程被阻塞,暂时停止执行。通常是在等待某个条件的发生,比如等待 I/O 操作完成或者等待获取锁。
-
等待状态(Waiting) :
- 线程在等待某个条件的发生,与阻塞状态不同,等待状态的线程不会主动去竞争 CPU 资源。
-
超时等待状态(Timed Waiting) :
- 类似于等待状态,但设置了一个超时时间,在超过指定时间后会自动唤醒。
-
睡眠状态(Sleeping) :
- 线程通过调用
Thread.sleep()方法主动进入睡眠状态,暂停执行一段指定的时间。
- 线程通过调用
-
终止状态(Terminated) :
- 线程执行完任务或者发生异常导致线程终止。已经结束执行的线程处于终止状态,不再可执行。