线程的阻塞态

当发生以下状况时,线程将会进入阻塞态spa

  1. 线程调用sleep()方法主动放弃所占用的处理器资源。
  2. 线程调用了一个阻塞式IO方法,在该方法返回以前,该线程被阻塞。
  3. 线程试图得到一个同步监视器,但该同步监视器正被其余线程所持有。
  4. 线程在等待某个通知(notify)。
  5. 程序调用了线程的suspend()方法将该线程挂起(这个方法容易致使死锁,应该尽可能避免使用)。

当发生以下特定的状况时能够解除上面的阻塞,让该线程从新进入就绪态线程

  1. 调用sleep()方法的线程通过了指定时间。
  2. 线程调用的阻塞式IO方法已经返回。
  3. 线程成功地得到了试图取得的同步监视器。
  4. 线程正在等待某个通知时,其余线程发出了一个通知。
  5. 处于挂起状态的线程被调用了resume()恢复方法。