java 线程 状态

4 篇文章 0 订阅

java线程的五种状态,即线程的生命周期

1.开始状态   :

当使用new 关键字,创建出一个Thread类或其子类的时候,我们都知道,这个时候会在堆空间分配空间,这个时候线程实例 开始创建,即进入开始状态。

2.可运行状态/就绪状态:

当调用创建出来的Thread实例的start()方法的时候,我的理解,该线程已经启动,即告诉虚拟机,我现在拥有了使用CPU时间片段的权利,这个时候和别的线程一起等待CPU调度。

3.运行状态:

经过就绪状态的等待,终于等到了CPU时间段的使用,那在这段有CPU使用权的时间,这个线程要做什么呢,开始运行run()方法

4.阻塞状态:

阻塞状态是该线程因为一些原因放弃了CPU使用权的原因,转而进去就绪状态,只有在就绪状态进行等待之后重新获取CPU使用权后才能再次进入运行状态

阻塞情况分为三种:

1)等待阻塞:该线程运行wait()方法之后,JVM会将该线程放入等待池中。

2)同步阻塞:该线程获取对象的同步锁的时候,这个对象的同步锁正在被其他线程占用,这个时候JVM会将该线程放入锁池中。

3)其他阻塞:该线程运行sleep()方法,或者其他线程在该线程调用join()方法的时候,JVM将该线程置为阻塞状态

5.死亡状态:

线程执行完或者因为异常结束run()方法,即进入死亡状态,生命周期结束。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值