多线程 之线程的生命周期

在这里插入图片描述

线程是存在生命周期的。线程的生命周期分为五种状态:
1.新建状态
当线程使用new 关键字创建了一个线程以后,线程就出于新建状态。和其他对象一样,仅仅被分配内存,并初始化成员变量的值。
2.准备状态
当线程调用start()方法后进入准备状态。由cpu来决定哪个线程进入运行状态。
注意:
1.线程从新建状态进入到准备状态后,不可能在进入新建状态。
2.在等待/阻塞的线程被解除后,不能直接进入运行状态,而是进入准备状态。
3.首先进入准备状态的线程,由系统决定哪一个先进入运行状态、
3.运行状态
出于准备状态的线程被cpu选中进入运行状态,在运行状态中执行run()方法中的执行体。
在运行状态下可能被cpu中的调度程序调度到准备状态。
在单核cpu中只有一个线程在运行,在多核cpu中有多个线程在运行。
4.等待/阻塞状态
线程中有很多线程调度的方法,包括睡眠、阻塞、挂起和等待,这些方法会使得正在运行的方法处于等待/阻塞状态,
这些等待/阻塞状态的线程被解除后,不会立即回到运行状态,而是进入准备状态,等待系统的调度。
5.死亡状态
当线程的run()方法执行结束后,或者程序发生异常终止运行后,线程就会进入死亡状态。
处于死亡状态的线程就不能在使用start()方法启动线程,

        </div>
					<link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-778f64ae39.css" rel="stylesheet">
            </div>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值