Java线程状态图

下图很好的描述了Java的线程状态。

threads2

 

Java线程一共有七个状态,分别是新建,可运行,运行中,睡眠,阻塞,等待,死亡。

注:这个图是从一个国外的网站上下载到了,文章的作者也不知道这个图出自哪里。

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: Java线程状态图

  • Trackback 关闭
  • 评论 (10)
    • fairjm
    • 2014/08/12 5:11下午

    sleep时能notify??? sleep -> running不该是sleep结束或者interrupt吗?? 不解

    • 宿城
    • 2014/08/12 5:23下午

    感觉这个图有一些问题啊。 Blocked 在接收到数据不能直接转换到running把

    • 比如在网络编程中 read()方法回阻塞线程,当接受到数据后,线程会继续运行

    • ryan
    • 2014/08/13 8:59上午

    确实有点问题,希望修复,否则误人就不好了。

    • 老农民
    • 2014/08/13 4:22下午

    建议贵网站提高编辑文章质量,我发现好多文章处理的都太好。

    • happylifelx
    • 2014/08/20 11:51下午

    线程终止的情况有哪些?刚一启动没执行就终止了,可能是什么原因?

    • 线程终止的情况有:
      1:执行完成。
      2:进程退出。
      3:响应中断退出。
      刚一启动就中止这个说不好,最好把代码贴出来。

  1. 图确实有问题,小心误导大家,呵呵。

    • hoper
    • 2016/03/05 10:24下午

    请假个问题,《深入理解Java虚拟机》13.3.1小节里说,“挂起线程和恢复线程的操作都需要转入内核态中完成,这些操作给系统的并发性能带来了很大的压力”,什么时候线程会被挂起呢?对应Thread里的什么方法?wait()?sleep()?以及进入同步代码块失败时,线程都会被挂起吗?

return top