线程4种状态

1.就绪 (new)
线程对象已建立,但还启动,所以还不能运行。
2.就绪(Runnable)
线程对象调用starte方法后进入此状态。进入这个状态并不意味着在执行,它可能被阻塞或正执行。只要调度程序分给时间给线程,它就可以运行。
3.死亡(Dead)
死亡线程通常方式是从run方法返回。
4.阻塞(Blocked)
线程能够运行,但某个条件阻止他的运行,当线程进入阻塞状态时,调度机制将忽略该线程,不再分配给线程任何处理时间。直到进入就绪状态,它才有执行的机会。


线程阻塞:
当一个线程被阻塞时,可能有如下原因:
1.调用sleep方法
2.调用wait让线程挂起,知道notify或notifAll方法才让它进入就绪状态。
3.线程在等待某个输入/输出完成。
4.线程试图在某个对象上调用其同步控制方法,但是对象锁不可能。


sleep和wait
1.调用sleep的时候,锁并没有被释放,调用wait方法,线程被挂起,锁被释放了。
2.wait、notify、notifyall是基类Object的一部分,sleep是Thread类的一部分。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值