问题 单项选择题

下列方法被调用后,一定使调用线程改变当前状态的是______。

A) notify()
B) yield()
C) sleep()
D) isAlive()

答案

参考答案:C

解析: 该题考查线程的状态转换。由于notify()只是唤醒一个线程,但我们由不能确定具体唤醒的是哪一个线程,也许我们需要唤醒的线程不能够被唤醒,所以线程不一定改变状态,选项A错误;线程调用了yield()方法,意思是放弃当前获得的CPU时间片,回到可运行状态,这时与其他进程处于同等竞争状态,OS有可能会接着又让这个进程进入运行状态,所以线程状态不一定改变,选项B错误;isAlive()是判断线程当前状态是否处于Alive状态,不改变线程状态,所以选项D错误;调用的sleep()之后,线程则一定进入阻塞状态,所以选项C正确。

材料分析题
单项选择题