java多线程状态切换

转载 2016年06月01日 09:52:44

转自 http://blog.csdn.net/huang_xw/article/details/7316354

一. 线程状态类型

1. 新建状态(New):新创建了一个线程对象。
2. 就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于可运行线程池中,变得可运行,等待获取CPU的使用权。
3. 运行状态(Running):就绪状态的线程获取了CPU,执行程序代码。
4. 阻塞状态(Blocked):阻塞状态是线程因为某种原因放弃CPU使用权,暂时停止运行。直到线程进入就绪状态,才有机会转到运行状态。阻塞的情况分三种:
(一)、等待阻塞:运行的线程执行wait()方法,JVM会把该线程放入等待池中。
(二)、同步阻塞:运行的线程在获取对象的同步锁时,若该同步锁被别的线程占用,则JVM会把该线程放入锁池中。
(三)、其他阻塞:运行的线程执行sleep()或join()方法,或者发出了I/O请求时,JVM会把该线程置为阻塞状态。当sleep()状态超时、join()等待线程终止或者超时、或者I/O处理完毕时,线程重新转入就绪状态。
5. 死亡状态(Dead):线程执行完了或者因异常退出了run()方法,该线程结束生命周期。
二. 线程状态图

Java线程的5种状态及切换(透彻讲解)

Java中的线程的生命周期大体可分为5种状态。 ①NEW:这种情况指的是,通过New关键字创建了Thread类(或其子类)的对象 ②RUNNABLE:这种情况指的是Thread类的对象调用...
  • hangelsing
  • hangelsing
  • 2015年03月03日 14:25
  • 9734

Java线程的5种状态及切换(透彻讲解)

Java中的线程的生命周期大体可分为5种状态。 1. 新建(NEW):新创建了一个线程对象。 2. 可运行(RUNNABLE):线程对象创建后,其他线程(比如main线程)调用了该对象的star...
  • pange1991
  • pange1991
  • 2016年12月24日 16:57
  • 7049

JVM中线程的状态转换图

JVM中线程的状态转换图 线程在一定条件下,状态会发生变化。线程一共有以下几种状态: 1、新建状态(New):新创建了一个线程对象。 2、就绪状态(Runnable):线程对象创建后,其他线程调...
  • zolalad
  • zolalad
  • 2014年08月28日 20:29
  • 5594

java多线程学习之一——线程的状态、上下文切换和线程监控

多线程 线程的状态 1. NEW(图中初始状态):一个刚创建而未启动的线程处于该状态。由于一个线程实例只能被启动一次,因此一个线程只可能有一次处于该状态。 2. 可运行(RUNNABLE):表示处于...
  • Prepared
  • Prepared
  • 2017年05月15日 12:17
  • 415

多线程切换View时线程不同步的问题---游戏状态跳转管理

// 2012.3.31 1【缓存 + 同步】确实是一种解决方案 但是我们会发现需要用这种方式的处理的地方很多,多线程下,需要保证线程安全的地方很多,这无疑给程序增加非常多的复杂度。 2 【缓存...
  • xpwang168
  • xpwang168
  • 2011年08月17日 09:59
  • 549

JAVA多线程(一)基本概念和上下文切换性能损耗

介绍了多线程的概念、优点,以及线程上下文切换时的性能损耗问题
  • antony9118
  • antony9118
  • 2016年05月22日 14:33
  • 4123

java 多线程 模拟一台电梯的工作状态

package 电梯03; /* 单线程电梯(1台电梯运行,10层)模拟: * Stack 表示电梯所能装载的人数 * 下面两个链表表示每层楼对应的人 0未启用 * LinkList[] ...
  • Sun_Ru
  • Sun_Ru
  • 2016年08月14日 16:41
  • 1586

Java多线程下载框架02:观察者模式通知下载内容状态更新

场景描述在Java多线程下载框架中,我们需要知道下载状态比如暂停下载,恢复下载,取消下载等状态的通知,而且不仅仅是更新当前页面,在任意页面都能接收到状态变化的更新,所以这里要用到观察者模式。 关于设...
  • e_Inch_Photo
  • e_Inch_Photo
  • 2017年11月09日 16:30
  • 473

(14)Java多线程之线程状态

引言 验证线程所处的状态 1 验证New状态 11 代码示例 12代码解释 2 验证Runable状态 21 代码 22代码解释 3 验证terminated状态 31 代码示例 32 代码解释 4 ...
  • LoveCarpenter
  • LoveCarpenter
  • 2017年01月22日 16:21
  • 547

Java多线程之线程状态案例

Java多线程之线程状态的研究
  • qq_17852961
  • qq_17852961
  • 2017年07月29日 15:56
  • 96
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java多线程状态切换
举报原因:
原因补充:

(最多只允许输入30个字)