标签:Runable 状态 Java Running Waiting 线程 进入 转换
线程的六种状态
NEW
线程在new创建之后但还未start()时,是new状态。
Runable
调用start()方法后,线程进入runable状态,其中,runable又包括Ready和Running两个状态。
Ready
就绪状态,等待cpu调度。
Running
当就绪的线程被cpu选中开始运行的时候进入Running状态。
Blocked
阻塞状态,受线程同步限制的,未获得锁的线程对象进入Blocked状态。
Waiting
1——受syngnoized约束的线程才会有此状态,当线程调用Object.wait()方法,或者Object.jion()方法等,进入这个状态。注意,这些方法都是无参,指定时间参数的话会进入Timed_Waiting状态。
2——等待被notify()或者notifyAll()当唤醒。
3——被唤醒的线程进入Runable状态。
Timed_Waiting
1——运行中的线程调用sleep(),waiting(),jion()等方法,并给这些方法指定参数值(long类型)时,才会进入Timed_Waiting状态。
2——当参数给定的时间限制完成时,或者在等待时间内被notify(),notifyAll()等语句唤醒时,进入Runable状态。
Terminated
结束状态。当线程所执行的代码全部结束,进入此状态。
标签:Runable,状态,Java,Running,Waiting,线程,进入,转换 来源: https://blog.csdn.net/qq_39484718/article/details/120729894
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。