Java - 线程状态
2016-07-11 22:06
211 查看
一个线程可以处于以下四种状态:
新建(new):当线程被创建时,它只会短暂的处于这种状态.此时它已经分配了必须的系统资源,并执行了初始化.此刻线程已经有资格获得CPU时间了,之后调度器将把这个线程
转变位可运行状态或阻塞状态.
就绪(runnable):在这种状态下,只要调度器把时间片分配给线程,线程就可以运行.也就是说,在任意时刻,线程可以运行也可以不运行.只要调度器能分配时间片给线程,他就可以运行
这不同于死亡和阻塞状态.
阻塞(Blocked):线程能够运行,但有个条件阻止它的运行.当线程处于阻塞状态时,调度器将忽略线程,不会分配时间片给线程任何CPU时间.知道线程重新进入了就绪状态,他才有可能执行操作.
死亡(Dead):处于死亡或终止状态的线程不在是可调度的,并且再也不会得到CPU时间,它的任务已结束,或不在是可运行的.任务死亡的方式通常是从run()方法返回,但是任务的
线程还可以被中断.
新建(new):当线程被创建时,它只会短暂的处于这种状态.此时它已经分配了必须的系统资源,并执行了初始化.此刻线程已经有资格获得CPU时间了,之后调度器将把这个线程
转变位可运行状态或阻塞状态.
就绪(runnable):在这种状态下,只要调度器把时间片分配给线程,线程就可以运行.也就是说,在任意时刻,线程可以运行也可以不运行.只要调度器能分配时间片给线程,他就可以运行
这不同于死亡和阻塞状态.
阻塞(Blocked):线程能够运行,但有个条件阻止它的运行.当线程处于阻塞状态时,调度器将忽略线程,不会分配时间片给线程任何CPU时间.知道线程重新进入了就绪状态,他才有可能执行操作.
死亡(Dead):处于死亡或终止状态的线程不在是可调度的,并且再也不会得到CPU时间,它的任务已结束,或不在是可运行的.任务死亡的方式通常是从run()方法返回,但是任务的
线程还可以被中断.
相关文章推荐
- Service的启动
- java基础
- Spring配置项<context:annotation-config/>解释说明
- Java异常体系结构
- 经典算法1---相似度--模糊查询,查抄袭,语言识别
- 5、异常与调试
- Spring
- mac protobuf java安装使用
- 辗转相除法求最大公约数,附带求最小公倍数
- java多态
- Java序列化机制和原理
- 深入分析 Java 中的中文编码问题
- java CountDownLatch使用
- 插入排序----直接插入排序----java实现
- (1):java基础知识笔记
- Package base-default extends undefined package struts-default
- Java基础入门- 数组
- Java 字符串和文本I/O
- Head First Java笔记(一)
- Java陷阱之assert关键字