A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Synaric 中级黑马   /  2015-10-3 09:55  /  467 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

一个线程可以处于以下4种状态之一:
  • 新建(new):当线程被创建时,它会短暂地处于这种状态,它已经被分配了系统资源,并进行了初始化。之后调度器将它转变为就绪状态或阻塞状态。
  • 就绪(runnable):只要调度器把时间分片分给任务,任务就可以运行,任意时刻,线程可以运行可与不运行,这点不同于死亡和阻塞。
  • 阻塞(blocked):线程能够运行,但某个条件阻止它运行,调度器将忽略被阻塞的线程,不分配时间分片,直到线程重新变为就绪状态。
  • 死亡(dead):它的任务已结束,不会获得时间分片、也不可调度。线程的死亡通常从run方法返回,也可以被interrupt方法中断。

任务处于阻塞状态可能有如下原因之一:
  • 调用sleep使任务休眠
  • 调用wait使任务挂起
  • 任务等待某个IO流
  • 任务尝试获得同步块、方法的锁,但是锁已经被锁定,任务等待锁的释放

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马