线程可能会阻塞或暂停执行,原因主要有:等待I/O操作结束,等待获取一个锁,等待从Thread.sleep方法醒来,或是等待另一个线程的计算结果;当线程阻塞时,通常会被挂起并处于某种阻塞状态(BLOCKED、WAITING或TIMED_WAITING)