Java线程的五种状态

NEW:一个线程被创建但是没有调用start方法

RUNNABLE:可运行的线程,即线程执行了start方法之后,正在执行或者正在等待某个资源

BLOCKED:线程等待锁来进入同步方法或代码块。

WAITING:一个线程正在等待另一个线程来唤醒,可能是由于调用了以下方法:

  • 调用不带timeout参数Object.wait方法、
  • 调用不带timeout参数的 Thread.join方法、
  • 调用LockSupport.park方法。
  • 调用了Thread.join方法会等待直到特定的线程终止。

TIMED_WAITING:在WAITING基础上有一个特定的超时时间。可能是调用以下方法(均指定了一个超时时间):

  • Thread.sleep方法
  • Object.wait方法
  • Thread.join方法
  • LockSupport.parkNanos方法
  • LockSupport.parkUntil方法

TERMINATED:线程退出,线程已经完成了执行、即死亡。

这些状态是JVM中线程的状态,并不是操作系统中线程的状态

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值