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多线程学习之一——线程的状态、上下文切换和线程监控

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

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

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

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

介绍了多线程的概念、优点,以及线程上下文切换时的性能损耗问题

java多线程之线程状态(2)

转载请注明出处 http://blog.csdn.net/pony_maggie/article/details/42886735 作者:小马 来看suspend和resume机制造成...

java多线程运行状态

第十三章 多线程 第二节       复习:进程里包含线程,多条控制流,多条线程共资源。 类具备多线程的能力三种方法:继承(extends)Thread类,实现(implements)Runnab...

java中多线程的状态图

上图所示为java中具有wait

Java精选笔记_多线程(创建、生命周期及状态转换、调度、同步、通信)

线程概述 在应用程序中,不同的程序块是可以同时运行的,这种多个程序块同时运行的现象被称作并发执行。 多线程可以使程序在同一时间内完成很多操作。 多线程就是指一个应用程序中有多条并发执行的线索,每...

java多线程之线程运行状态

java线程的状态一共有6种,如下所示 NEW:初始状态,线程被构建,但是还没有调用start()方法 RUNNABLE: 运行状态,java线程将操作系统中的就绪和运行两种状态笼统的称作运行态 BL...

java 多线程协作 模拟四台电梯的工作状态并统计每层上下楼人数和输出上下楼日志到文件

模拟四台电梯的工作状态 package 电梯03; /* 单线程电梯(1台电梯运行,10层)模拟: * Stack 表示电梯所能装载的人数 * 下面两个链表表示每层楼对应的人 0未启用 ...
  • Sun_Ru
  • Sun_Ru
  • 2016年08月16日 23:39
  • 1108

Java 多线程之线程状态图

一.线程基本状态图             图中是线程运行的基本状态:线程调用start()方法开始后,就进入到可运行状态,随着CPU的资源调度在运行 和可运行之间切换;遇到阻塞则进入阻塞状态...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java多线程状态切换
举报原因:
原因补充:

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