线程状态

我们知道Java的线程一共有6种状态, 在Thread中定义了枚举内部类来表示.

  1. NEW(新建): 新创建一个线程对象, 并没有调用start()方法.
  2. RUNNABLE(运行): Java把操作系统的Ready(就绪)和Running(执行)两种状态合并为一种状态Runnable.在调用start()方法后线程处于Ready状态, 当获得CPU执行时间片后开始执行run()犯法的代码, 此时线程处于Running状态.
  3. BLOCKED(阻塞): 阻塞状态.
    WAITING(等待): 表示线程无限期等待, 需要唤醒才可以继续获得CPU执行时间片.
    TIMED_WAITING(限时等待): 表示在指定时间内等待, 超过对应的时间进入RUNNABLE状态.
    TERMINATED(结束): 表示线程死亡, 正常结束或者执行抛出异常未被捕获都会进入该状态.
线程状态流转图:
线程状态流转图
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • java中的线程状态 线程一共6种状态,分别是NEW,RUNNABLE,BLOCKED,WAITING,TIMED...
    尹楷楷阅读 448评论 0 1
  • 一、CPU、进程、线程 CPU我们都知道CPU是计算机的中央处理器,CPU的主要功能是运算。对CPU的关注通常都是...
    barry_di阅读 3,429评论 3 35
  • Java中线程的状态一共有6种: 图片来源于网络 新建(New):新建一个线程对象,但没有调用start()方法;...
    衣锦昼行阅读 296评论 0 0
  • 线程的生命周期 Java语言中定义了5种线程状态,在任意一个时间点,一个线程只能有且只有其中一种状态,这5种状态是...
    FX_SKY阅读 7,232评论 4 2
  • 我是黑夜里大雨纷飞的人啊 1 “又到一年六月,有人笑有人哭,有人欢乐有人忧愁,有人惊喜有人失落,有的觉得收获满满有...
    陌忘宇阅读 8,839评论 28 54

友情链接更多精彩内容