结合java编程讲述下线程的生命周期

线程的生命周期包括新建、就绪、运行、阻塞和死亡5种状态,那么结合编程,这5种状态是怎么存在的呢

1.新建

当程序使用new关键字创建一个线程后,该线程就处于新建状态,此时,与其他java对象一样,仅有java虚拟机为其分配内存,初始化成员变量。

2.就绪

当线程对象调用start()方法后,线程就处于就绪状态,java虚拟机为其创建方法调用栈与程序计数器,关于该线程何时执行,取决于JVM里线程调度器的调度

3.运行

当就绪状态的线程获得CPU,开始执行run方法时,该线程就处于运行状态,这一步不是代码可以控制的,是由底层平台控制的。

4.阻塞

当线程调用sleep()方法、调用suspend()方法,调用一个阻塞式IO方法等时,线程就进入阻塞状态

5.死亡

当线程run()方法执行结束、线程抛出一个未捕获的异常、直接调用线程的stop()方法,线程就会死亡。测试某个线程是否死亡,可以采用isAlive()方法。


图示如下:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值