NEW状态 当创建一个Thread对象但尚未调用其start()方法时,线程处于NEW状态。在这个状态下,线程并未启动,仅完成了初始化阶段。
RUNNABLE状态
RUNNABLE是Java中较为特殊的一个状态,它服务器托管网涵盖了传统操作系统中的就绪和运行两种状态。当线程已启动且CPU调度器为其分配了时间片或线程正在等待系统资源(如I/O操作)时,线程都处于RUNNABLE状态。在Java虚拟机(JVM)中,这样的线程既可能实际在执行,也可能随时准备执行。
BLOCKED状态 BLOCKED状态表示线程因尝试获取锁而被阻塞,暂时无法继续执行。
WAITING状态
当线程调用Object.wait()、Thread.join()或者LockSupport.park()等方法后,主动放弃当前持有的锁并进入WAITING状态,此时线程必须由其他线程通过notify()、notifyAll()或LockSupport.unpark()方法唤醒才能恢复到RUNNABLE状态。
TIMED_WAITING状态
TIMED_WAITING状态与WAITING状态相似,区别在于线程会在指定的时间间隔后自动唤醒,无需其他线程显式地唤醒它。常见的情况包括使用Thread.sleep(long millis)、Object.wait(long timeout)、Thread.join(long millis)或LockSupport类的相关超时方法。
TERMINATED状态 当线程正常结束执行,或者因为异常导致线程终止时,线程就会转为TERMINATED状态。
服务器托管,北京服务器托管,服务器租用服务器托管网 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
相关推荐: java 单例模式中的双重检测为什么要加 volatile 关键字?
Java 实现单例模式有方法有双重检测锁,代码如下: public class Singleton { private static volatile Singleton singleton = null; private Singleton(){} publ…