`
雷声大雨点小
  • 浏览: 744 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

【转】java线程状态(Thread States)

 
阅读更多

【转】java线程状态(Thread States)

java thread

程序通过调用start()方法启动一个线程,使该线程进入可运行的状态。 使该线程处于运行状态由于的调度会出现不可控性,即不是优先级高的先被调用,可能先调用,也可能后调用的的情况。 运行状态下,调用让步方法yield(),可以使线程回到就绪状态(Runnable)下,再次等待被调度运行(并不依赖优先级)。 线程在运行过程中可能会遇到阻塞情况,例如sleep()调用、Join()等待、同步I/O操作。 当sleep时间片结束、join()中断、I/O操作完成,线程会回到就绪状态。 当处于运行状态的线程遇到对象监视器(Object Monitor)上的同步标记(synchronized)时,则会进入锁定阻塞状态(locked Blocked status)。 线程运行结束(run方法结束)或异常退出(Thread Exception),线程到达终止状态(Terminated / Dead)。 wait() 和sleep() 方法的区别有: 类:两个方法定义于不同的类,前者是根类型java.lang.Object,后者是java.lang.Thread类; 锁:最主要是sleep方法没有释放锁,仍然拥有对象监视器,而wait方法释放了锁,允许其他线程执行该同步块或同步方法; 域:Object.wait应该用在同步方法或者同步控制块中,而Thread.sleep方法可以在任何地方使用; 停:两者都可以让线程暂停一段时间,但本质的区别是:wait处理是线程之间的通讯的问题,而sleep是对线程的运行状态控制。 object.notify() 唤醒一个等待此对象监视器的线程,注意此方法被调用时,并不确切的唤醒某一个等待状态的线程,而是由JVM确定唤醒具体的某个线程,且并不按优先级。 object.notifyAll() 唤醒所有等待此对象监视器的线程,注意并不是给被唤醒的线程一个此对象上的监视器锁(lock),而是让它们竞争这个锁。 【注】 更权威的说法请参照Oracle文档: http://docs.oracle.com/javase/6/docs/api/java/lang/Thread.State.html http://docs.oracle.com/javase/6/docs/api/java/lang/management/ThreadInfo.html

分享到:
评论

相关推荐

    Java线程状态流转图

    Java线程状态流转图

    java线程状态转换图

    java线程状态之间的转换图,包含转换的一些条件

    java多线程编程总结

    Java线程:线程状态的转换 Java线程:线程的同步与锁 Java线程:线程的交互 Java线程:线程的调度-休眠 Java线程:线程的调度-优先级 Java线程:线程的调度-让步 Java线程:线程的调度-合并 Java线程:线程的调度-...

    线程 JAVA java线程 java线程第3版 java线程第2版第3版合集

    电子书相关:包含4个有关JAVA线程的电子书(几乎涵盖全部有关线程的书籍) OReilly.Java.Threads.3rd.Edition.Sep.2004.eBook-DDU Java Thread Programming (Sams) java线程第二版中英文 java线程第二版中英文 ...

    Java线程讲解Java线程讲解

    Java线程讲解Java线程讲解Java线程讲解Java线程讲解Java线程讲解Java线程讲解Java线程讲解Java线程讲解Java线程讲解Java线程讲解

    Java线程:线程状态的转换

    初学者学习java多线程的必备良师啊!! 该文档内容简单易懂 条理清晰 !! 内容包含:线程的状态及状态之间的转换 线程的优先级 线程的几大常用方法! 申明: 本文出自 “熔 岩” 博客,本人从百度文库转载而来! 大家都...

    Java多线程编程总结

    Java线程:线程状态的转换 Java线程:线程的同步与锁 Java线程:线程的交互 Java线程:线程的调度-休眠 Java线程:线程的调度-优先级 Java线程:线程的调度-让步 Java线程:线程的调度-合并 Java线程:线程的...

    Java线程详解大全

    Java线程Java线程Java线程Java线程Java线程Java线程Java线程Java线程Java线程Java线程Java线程Java线程Java线程Java线程Java线程

    java线程状态图

    java线程从新建到死亡所能经历的各种状态之间的流转。包括运行到阻塞、进入锁池、等待队列,全面而清晰的一张图

    java线程的状态2---马克-to-win java视频

    java线程的状态3---马克-to-win java视频的详细描述与介绍

    Java线程Java线程Java线程Java线程

    Java线程Java线程Java线程Java线程Java线程Java线程

    java多线程笔记

    四、线程的状态转换和生命周期 4 Java线程:创建与启动 7 Java线程:线程名称的设定及获取 10 Java线程:线程栈模型与线程的变量 12 Java线程:线程的调度-休眠 13 Java线程:线程的调度-优先级 16 Java线程:线程的...

    java 线程 dump 分析工具 2.3.3

    java 线程Dump 分析工具: Java的TDA线程转储分析器是一个用于分析Sun Java VM生成的线程转储和堆信息的小型Swing GUI(目前用1.4测试)。它从提供的日志文件中解析线程转储和类直方图。它提供关于发现的线程转储的...

    Java 线程总结

    Java线程:线程状态的转换 Java线程:线程的同步与锁 Java线程:线程的交互 Java线程:线程的调度-休眠 Java线程:线程的调度-优先级 Java线程:线程的调度-让步 Java线程:线程的调度-合并 Java线程:线程的调度-...

    java 线程java 线程

    java 线程java 线程java 线程java 线程java 线程java 线程java 线程java 线程java 线程

    Java线程:线程状态的转换.pdf

    Java线程:线程状态的转换.pdf

    小java线程监控程序

    有点乐趣,小java线程监控程序, 小java线程监控程序 小java线程监控程序

    Java线程模块Java线程之秒表

    Java线程模块Java线程之秒表新手学习Java线程模块时,利用Java中设置线程的暂停间隔,做的简易秒表

Global site tag (gtag.js) - Google Analytics