1.1.2线程的6种状态

一、线程状态

1.New:尚未启动的线程的线程状态。

2.Runnable:可运行线程的线程状态,等待CPU调度。

3.Blocked:线程堵塞等待监视器锁定的线程状态。

表示线程进入等待状态,也就是线程因为某种原因放弃了CPU的使用权。如处于synchronized同步代码块或者方法中被阻塞。阻塞也分为几种情况(当一个线程试图获取一个内部的对象锁(非java.util.concurrent库中的锁),而该锁被其他线程持有,则该线程进入阻塞状态。)
  • 等待阻塞:运行的线程执行了Thread.sleep、wait、join等方法,JVM会把当前线程设置为等待状态,当sleep结束,join线程终止或者线程被唤醒后,该线程从等待状态进入阻塞状态,重新占用锁后进行线程恢复
  • 同步阻塞:运行的线程在获取对象的同步锁时,若该同步锁被其他线程锁占用了,那么JVM会把当前项城放入到锁池中
  • 其他阻塞:发出I/O请求,JVM会把当前线程设置为阻塞状态,当I/O处理完毕则线程恢复

4.Waiting:等待线程的线程状态。

不带超时的方式:Object.wait、Thread.jion、LockSupport.park

5.Timed Waiting:具有指定等待时间的等待线程的线程状态。

带超时的方式:Thread.sleep、带参数的Object.wait、Thread.jion、LockSupport.parkNanos、LockSupport.parkUntil。

6.Terminated:终止线程的线程状态。线程正常执行完成或出现异常。

二、图示

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值