问题
单项选择题
下列关于线程的说法中,正确的是
A.一个线程一旦被创建,就立即开始运行
B.使用start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行
C.当运行状态的线程因为调用了yield()方法而停止运行,它一定被放在可运行线程队列的前面
D.当因等待对象锁而被阻塞的线程获得锁后,将直接进入运行状态
答案
参考答案:B
解析: 一个线程创建以后并不马上启动,此时线程处于新建状态。所以选项A错误。yield()方法的功能是线程暂停,让出CPU,使同优先级的其他线程运行,如果不存在有机会运行的线程,yield()方法将直接返回,线程继续;所以线程调用了yield()方法还有可能继续为运行状态,所以选项C错误。当因等待对象锁而被阻塞的线程获得锁后,将进入可运行状态,而不是运行状态,所以选项D错误。