线程的运行状态

1.要得到本题答案,根据下面简图(阉割版)就可以获得

拓展补充
2.Java线程的各个状态间的关系流程-简图



3.Java线程的各个状态间的关系流程-完整信息图


4.wait()、sleep()、yield()的理解
1)wait()是Object的实例方法,在synchronized同步环境使用,作用当前对象,会释放对象锁,需要被唤醒。
2)sleep()是Thread的静态方法,不用在同步环境使用,作用当前线程,不释放锁。
3)yield()是Thread的静态方法,作用当前线程,释放当前线程持有的CPU资源,将CPU让给优先级不低于自己的线程用,调用后进入就绪状态。

知识的搬运工:其他大佬的见解,推荐链接

http://www.jianshu.com/p/25e959037eed

原文地址:https://www.cnblogs.com/tiancai/p/8491563.html