栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

线程的状态

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

线程的状态

1.线程的状态,java线程在运行中的生命周期中可能会处于6种不同的状态。

New(new)新创建状态。线程被创建,还没有调用start方法之前,在线程运行之前还要初始化一些基础工作要做。

Runnable(runnable)可运行状态。线程一旦调用start方法,线程就处于Runnable状态,一个可运行的线程可能是正在运行也可能没有运行,这取决于操作系统给线程提供运行的时间。

Blocked(blocked)阻塞状态。表示该线程被锁阻塞,它暂时不活动。

Waiting(waiting)等待状态。线程暂时不活动,并且不运行任何代码,这消耗最少的资源,直到线程调度器重新激活它。

Timed waiting:超时等待状态。和等待状态不不同的是,它是可以在指定的时间自行返回。

Terminated:终止状态。表示当前线程竟已经执行完毕,导致线程终止两种情况,第一种就是run方法执行完毕正常退出,第二种就是一个没有捕获的异常而终止了run方法,导致线程进入终止状态。

1.2线程运行状态(这个张图必须的会画)

 

 

线程创建后,调用 Thread 的 start 方法,开始进入运行状态,当线程执行wait 方法后,线程进入等待状态,进入等待状态的线程需要其他线程通知才能返回运行状态。超时等待相当于在等待状 态加上了时间限制,如果超过时间限制,则线程返回运行状态。当线程调用到同步方法时,如果线程没有获得锁则进入阻塞状态,当阻塞状态的线程获取到锁时则重新回到运行状态。当线程执行完毕或者遇到意外异常终止时,都会进入终止状态。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/643326.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号