ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java线程的各种状态及其转换

2021-10-12 19:33:59  阅读:197  来源: 互联网

标签: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. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有