四、线程的生命周期

前言:

  之前我们学习了关于现成的创建的方式,和线程池方面的只是,那么我们来向再想一下关于一个线程从创建到销毁,都经历了哪些阶段,下面来看一下网上的一张,关于线程从创建到销毁生命周期的问题:

  

一、新建阶段:

  在我们用new关键字创建了一个线程后,这个线程就处于新建状态,jvm会为线程分配内存空间,初始化成员变量

二、就绪阶段:

  当我们创建的线程对象调用了start()方法后,该线程就处于就绪阶段,jvm会为计数器和方法栈,等待线程调度器调用。

三、运行状态:

  就绪状态的线程获取到了cpu资源,开始运行run()或call()方法,则该线程进入运行状态。

四、阻塞状态:

  当一个线程正在运行时,如果发生异常或者调用某些方法会使线程进入阻塞状态,具体有以下:

    1、线程调用sleep()方法,主动放弃所占用的处理器资源。

    2、线程在等待某个通知时(notify())。

    2、线程调用了一个阻塞式IO方法,在该方法返回之前都会被阻塞。

    3、线程试图获取一个同步锁,但该同步锁正在被其他线程所拥有的。

    4、程序调用了suspend()方法将线程挂起,但这个方法容易造成死锁,不推荐使用。

五、死亡状态:

  线程在以下情况下会进入死亡状态:

    1、run()、call()执行完成后,线程正常结束

    2、线程抛出了一个未捕获的Exception或err

    3、代用了该线程的stop()方法来结束线程,该方法容易导致死锁不推荐。

 

转载于:https://www.cnblogs.com/zouxiangzhongyan/p/11485026.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值