Java中线程的几种状态

Java中线程一共有几种状态呢?

在Java中线程的状态已经在Thread类中定义好了枚举,一共有6种

这是Thread类中定义的枚举。
 public enum State {

        NEW,

        RUNNABLE,

        BLOCKED,
       
        WAITING,
      
        TIMED_WAITING,
    
        TERMINATED;
    }

分别为:

  1. New:尚未启动的线程的线程状态
  2. Runnable:可运行线程的线程状态,等待CPU调度。
  3. Blocked:线程阻塞等待监视器锁定的线程状态,处于synchronized同步代码块或者方法中被阻塞
  4. Waiting:等待线程的线程状态。下列不带超时的方式:
    1. Object.wait,Thread.join,LockSupport.park
  5. Timed Waiting:具体指定等待时间的等待线程的线程状态。下列带超时时间的方式:
    1. Thread.sleep, Object.wait, Thread.join, LockSupport.parkNanos , LockSupport.parkUnitl
  6. Terminated:终止线程的线程状态,线程正常完成执行或者出现异常。

看到很多文章都写了Java中的线程状态是五种,不知道依据是什么。
请大家记住了 Java中的线程状态是六种不是五种,面试中别回答错了哦!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值