您的位置:首页 > 编程语言 > Java开发

java.线程的五个状态与之间的切换

2016-04-15 21:48 344 查看
在网上搜了搜关于线程状态的资料,发现大多数资料上的术语与名词都比较简洁而专业,新手不一定能够理解。所以就斗胆根据自己的理解,画了个小图。写一篇通俗易懂一点的。



⑴.线程分为被创建、运行、临时状态、冻结、消亡五种状态。

⑵被创建后需要调用start方法才能创建线程并运行

⑶临时状态,即具有运行资格,但没有运行权的线程所处状态。当某一时间点,线程没有获得CPU的执行权,就是处于这个状态。

⑷冻结,即 放弃执行资格 的线程所处状态,目的是让线程暂时停止,让别的线程先运行。小生知道的有两种方法可以让线程进入冻结状态。

①调用sleep(time)方法,使线程进入冻结状态中的睡眠状态,且在time即时间到了之后,自动解除冻结状态。

②调用wait()方法,使线程进入冻结状态中的等待状态,且只有当用notify()等函数将其“唤醒”之后,才解除冻结。

⑸解除冻结状态之后,线程不一定直接进入运行状态,因为此时不一定能获取到CPU的执行权。可能将进入临时状态。

⑹消亡,即线程结束,当调用stop()方法或者run方法运行结束后,线程进入消亡状态。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: