JAVA线程的状态及转换

本文详细介绍了Java线程的运行状态,包括Runnable、Blocked和Waiting。Runnable状态的线程可能正在执行或等待CPU资源。Blocked状态的线程在等待监视器锁,而Waiting线程则在等待特定条件,如join操作完成或notify()通知。理解这些状态对于优化多线程程序至关重要。
摘要由CSDN通过智能技术生成

JAVA线程的状态及转换

  • 确定线程当前的状态,可以通过 getState() 方法
    在这里插入图片描述

  • Java 中的 Runable 状态对应操作系统线程状态中的两种状态,分别是 Running 和 Ready,也就是说,Java 中处于 Runnable 状态的线程有可能正在执行,也有可能没有正在执行,正在等待被分配 CPU 资源。

  • Blocked 与 Waiting 的区别:

    • Blocked 在等待其他线程释放 monitor 锁,而 Waiting 则是在等待某个条件,比如 join 的线程执行完毕,或者是 notify()/notifyAll() 。
    • Blocked 仅仅针对 synchronized monitor 锁
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值