Java多线程之生命周期

线程的生命周期,也可以认为线程在不同时间的各种状态。
简单如下图:

java线程生命周期

其详细的UML图:
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java多线程生命周期包括以下几个状态: 1. 新建状态(New):当创建一个Thread对象时,线程处于新建状态。此时线程还没有开始执行,也没有分配到系统资源。 2. 就绪状态(Runnable):当调用线程的start()方法后,线程进入就绪状态。此时线程已经分配到了系统资源,但还没有开始执行。在就绪状态下,线程等待获取CPU的执行时间片。 3. 运行状态(Running):当线程获取到CPU的执行时间片后,线程进入运行状态。此时线程正在执行任务。 4. 阻塞状态(Blocked):在某些情况下,线程可能会被阻塞,例如等待某个资源的释放或者等待输入输出操作完成。当线程处于阻塞状态时,它暂时停止执行,直到满足某个条件后才能继续执行。 5. 等待状态(Waiting):线程进入等待状态是因为调用了wait()方法、join()方法或者LockSupport.park()方法。在等待状态下,线程会释放持有的锁,并且暂停执行,直到被唤醒或者超时。 6. 超时等待状态(Timed Waiting):线程进入超时等待状态是因为调用了带有超时参数的sleep()方法、wait()方法、join()方法或者LockSupport.parkNanos()方法。在超时等待状态下,线程会暂停执行,直到被唤醒、超时时间到达或者被中断。 7. 终止状态(Terminated):线程执行完任务或者发生异常后,线程进入终止状态。此时线程已经结束执行,不会再被调度。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值