Java线程状态

一.线程状态:(6种)

1.New:新建状态,注意此时并没有创建线程,未调用start方法。

2.Runnable:可运行状态,包含就绪状态(Ready)和运行状态(Runnable)。

3.Blocked:阻塞状态,线程请求系统资源失败就会进入阻塞状态,所有阻塞的线程都会在一个阻塞队列中(许多个PCB串成一个阻塞队列),阻塞的线程会不断申请系统资源,一旦成功就会进入就绪状态,即从线程从阻塞队列出来,进入就绪队列,等待执行。

4.Waiting:等待状态,即该状态下的线程会放弃CPU执行权,例如wait,join等方法就会使得线程进入等待状态,同样的有一个等待队列存储所有的等待状态的线程,线程等待其他线程唤醒才能继续执行。

5.Time_Waiting:计时等待状态,该状态下的线程也会放弃CPU执行权,但是和Waiting状态的区别是,如果一旦超时,也就是等待时间到了,线程会继续执行,结束等待状态。

6.Terminated:结束状态,也就是线程结束后的状态,执行完run方法后,线程就会结束。

二.线程状态之间切换的图解:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值