标签:run 执行 方法 无限 running .com thread 运行 异常
一个java线程从启动到结束运行,可能经历若干状态。
NEW:一个已创建而未启动的线程处于该状态,由于一个线程只启动一次,所以只有一次处于该状态。
RUNNABLE:该状态是一个复合状态。包括READY和RUNNING。前者表示该线程处于可以被线程调度器调度成RUNNING状态。后者表示该线程的run方法正在被
jvm虚拟机调用,通过yeild方法可以变为READY状态。
BLOCKED:一个线程发起一个阻塞式I/O操作后,或者被其它线程独占资源(比如锁),相应的线程会处于该状态,当线程重新获得资源后,又可以变为RUNNABLE.
WAITING : 一个线程执行了某些方法后就会处于这种等待状态。包括Object.wait(),Thread.join(),LockSupport.park(Object).从WAITING变为RUNNABLE,Object.notify(),
/notifyAll()和LockSupport.unPart(Object).
TIMED_WATING : 不是无限期等待,带有时间限制,时间限制一到,不管如何,自动转为RUNNABLE
TERMINATED: Thread.run()正常返回或抛出异常提前终止都会处于这个状态,只会保持一次,由于一个线程只启动一次
标签:run 执行 方法 无限 running .com thread 运行 异常
原文地址:https://www.cnblogs.com/goxcheer/p/9291890.html