线程状态的转换

线程状态的转换

Java 中有六种状态:RUNNABLE(运行状态),WAITING(等待状态),READY(就绪状态),TIMED_WAITING(超时等待),BLOCKEND(阻塞状态),TERMINATED(终止状态)。

线程状态切换

  1. RUNNING(运行状态) 与 READY(就绪态)根据系统调用进行切换。
  2. WAITING(等待状态)切换到 READY(就绪态):Object.wait()、Object.join()、LockSupport.park()。
  3. READY/RUNNING(就绪/运行态)切换到 WAITING(等待状态):Object.notify()、Object.notifyAll()、LockSupport.unpark(Thrad)。
  4. TMED_WAITING(超时等待状态)切换到 READY(就绪态):Thread.sleep(long)、Object.wait(long)、Thread.join(long)、LockSupport.parkNanos()、LockSupport.parkUntil()。
  5. READY/RUNNING(就绪/运行态)切换到 TMED_WAITING(超时等待状态):Object.notify()、Object.notifyAll()、LockSupport.unpark(Thread)、超时时间到期。
  6. BLOCKED(阻塞状态)切换到 READY(就绪态):获取到锁即可。
  7. READY/RUNNING(就绪/运行态)切换到 BLOCKED(阻塞状态):等待进入 synchronized 方法、等待进入 synchronized 块。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值