下列关于线程调度的叙述中,错误的是(  )。

admin2010-12-17  29

问题 下列关于线程调度的叙述中,错误的是(  )。

选项 A、调用线程的sleep()方法,可以使比当前线程优先级低的线程获得运行机会
B、调用线程的yield()方法,可以使与当前线程相同优先级的线程获得运行机会
C、当有比当前线程优先级高的线程出现时,高优先级线程将抢占CPU并运行.
D、具有相同优先级的多个线程的调度一定是分时的

答案D

解析 Java的线程调度是基于优先级的抢先式调度,它总是选择高优先级的线程先执行。所以选项C正确。Thread提供了如下的基本线程控制方法:sleep (),线程暂停,让出CPU,使低优先级的线程运行;yield(),线程暂停,让出CPU,使同优先级的其他线程运行。如果不存在有机会运行的线程,yield()方法将直接返回,线程继续;join(),当前线程暂停,等待线程类对象运行结束。所以选项A和B正确。相同优先级的线程有可能采用分时调度也有可能是线程逐个运行,由具体JVM而定。
转载请注明原文地址:https://jikaoti.com/ti/0YH0FFFM
0

最新回复(0)