如果一个线程调用了sleep()方法,那么该线程会进入以下哪种状态?
答案解析
核心考点是线程的状态转换。当一个线程调用`sleep()`方法后,它会暂时放弃CPU的使用权,进入阻塞状态等待休眠时间结束。不是运行状态,不会立即执行,也不是就绪状态等待CPU调度,更不是死亡状态,线程仍然存活。
**解题思路:**
题目考察线程状态之间的转换。`sleep()`方法会导致线程进入阻塞状态,而不是其他几种状态。
**选项分析:**
* A. 运行状态: 线程正在执行代码,调用`sleep`后会放弃执行。
* B. 就绪状态: 线程已经具备运行条件,等待CPU分配时间片,sleep后不会进入就绪状态。
* C. 阻塞状态: 线程等待某种资源,`sleep`会使得线程进入这种状态,等待时间结束。
* D. 死亡状态: 线程执行完毕或发生异常结束,与`sleep`无关。
**易错点:**容易混淆阻塞状态和就绪状态,需要明确阻塞状态是在等待某些条件或资源,包括`sleep`导致的等待。
正确答案:C