专栏首页Java技术栈一张图弄懂java线程的状态和生命周期

一张图弄懂java线程的状态和生命周期

上图是一个线程的生命周期状态流转图,很清楚的描绘了一个线程从创建到终止的过程。

这些状态的枚举值都定义在java.lang.Thread.State下

NEW:毫无疑问表示的是刚创建的线程,还没有开始启动。

RUNNABLE: 表示线程已经触发start()方式调用,线程正式启动,线程处于运行中状态。

BLOCKED:表示线程阻塞,等待获取锁,如碰到synchronized、lock等关键字等占用临界区的情况,一旦获取到锁就进行RUNNABLE状态继续运行。

WAITING:表示线程处于无限制等待状态,等待一个特殊的事件来重新唤醒,如通过wait()方法进行等待的线程等待一个notify()或者notifyAll()方法,通过join()方法进行等待的线程等待目标线程运行结束而唤醒,一旦通过相关事件唤醒线程,线程就进入了RUNNABLE状态继续运行。

TIMED_WAITING:表示线程进入了一个有时限的等待,如sleep(3000),等待3秒后线程重新进行RUNNABLE状态继续运行。

TERMINATED:表示线程执行完毕后,进行终止状态。

需要注意的是,一旦线程通过start方法启动后就再也不能回到初始NEW状态,线程终止后也不能再回到RUNNABLE状态。

本文分享自微信公众号 - Java技术栈(javastack)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-07-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Java 非阻塞 IO 和异步 IO

    上一篇文章介绍了 Java NIO 中 Buffer、Channel 和 Selector 的基本操作,主要是一些接口操作,比较简单。 本文将介绍非阻塞 IO ...

    用户1257393
  • 面试难,看我是如何拿下面试官的,粉丝内心独白

    作为一个菜鸟,我没法分享什么技术,这只是分享一下一个菜鸟被一顿面试锤以后的心路历程。技术方面我很菜,大家看看就好了。 我是做了一年的Java开发,今年打算跳槽,...

    用户1257393
  • 【续】java面试Spring必备知识点,怼死面试官,从我做起

    小海有话说 这篇文章是是上一篇文章Spring必备知识点的续文,还是那句话,如果感觉有用就收藏,我没有办法满足所有人的要求,我只能尽量满足大部分...

    用户1257393
  • MySQL访问受限的问题分析

    今天帮同事看了一个MySQL的连接问题,蛮有意思,有两个用户,一个用户连接正常,另外一个连接抛错。 开发同学提供的错误日志如下: {resin-33} jav...

    jeanron100
  • Java面试Linux必备知识点,怼死面试官,从我做起

    封面越骚,内容越有味 chmod 4可读,2写,1可执行d开头代表目录 u文件所属人g代表群组o代表其他人 a代表所有 chmod 777 文件名chmod ...

    用户1257393
  • 详细分析Java中断机制

    1.引言 当我们点击某个杀毒软件的取消按钮来停止查杀病毒时,当我们在控制台敲入quit命令以结束某个后台服务时……都需要通过一个线程去取消另一个线程正在执行的任...

    用户1257393
  • Java面试基础必备知识点,怼死面试官,从我做起

    小海哥有话说 感觉最近支持我的人越来越多,谢谢大家,大家找到工作才是最重要的,我还是那句话,喜欢的就关注,想看深入研究的东西,等我更新完面试系列...

    用户1257393
  • Java面试Spring必备知识点,怼死面试官,从我做起

    小海哥有话说 首先,面试骚红系列已经更新了到第三篇了,更新的两篇文章,可以说,小海遇到了很多问题,第一个问题,发布第二篇,Linux知识点,有人说...

    用户1257393
  • 【续】Java面试基础必备知识点,怼死面试官,从我做起

    输入标题 小海哥的封面越骚,内容越有味的更新,马上接近尾声了,还有一个数据库更新,外加jvm深度解析,hashMap源码必读,最后放几篇大厂的 ...

    用户1257393
  • 粗浅看 Java 反射机制

    Java 反射是 Java 被视为动态(或准动态)语言的一个关键性质。这个机制允许程序在运 行时透过 Reflection APIs 取得任何一个已知名称的cl...

    用户1257393

扫码关注云+社区

领取腾讯云代金券