相同优先级的若干线程都处于就绪状态,如果要使当前线程放弃处理器资

题目

相同优先级的若干线程都处于就绪状态,如果要使当前线程放弃处理器资源,让给其后的线程,应调用方法()

  • A、init()
  • B、stop()
  • C、sleep()
  • D、start()
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

使线程放弃当前分得的CPU时间,但不使线程阻塞,即线程仍处于可执行状态,随时可能再次分得CPU时间的方法是( )。

A.sleep()方法

B.suspend()方法

C.yield()方法

D.wait()方法


正确答案:C
解析:本题考查对线程阻塞概念的理解程度。为了解决对共享存储区的访问冲突,Java引入了同步机制。但当多个线程对共享资源访问时,显然同步机制已经不够了,因为在任意时刻所要求的资源不一定已经准备好了被访问,反过来,同一时刻准备好了的资源也可能不止1个。为了解决这种情况下的访问控制问题,Java引入了对阻塞机制的支持。阻塞指的是暂停一个线程的执行以等待某个条件发生(如某资源就绪),学过操作系统的同学对它一定已经很熟悉了。Java提供了大量方法来支持阻塞,下面逐一分析。选项A错误,slccp()允许指定以毫秒为单位的一段时间作为参数,它使得线程在指定的时间内进入阻塞状态,不能得到CPU时间,指定的时间一过,线程重新进入可执行状态。典型地,slecp()被用在等待某个资源就绪的情形:测试发现条件不满足后,让线程阻塞一段时间后重新测试,直到条件满足为止。选项B错误,suspend()和resume()两个方法常配套使用,suspcnd()使得线程进入阻塞状态,并且不会自动恢复,必须其对应的resume()被调用,才能使得线程重新进入可执行状态。典型地,suspend()和resume()被用在等待另一个线程产生的结果的情形:测试发现结果还没有产生后,让线程阻塞,另一个线程产生了结果后,调用resume()使其恢复。选项C正确,yield()使得线程放弃当前分得的CPU时间,但是不使线程阻塞,即线程仍处于可执行状态,随时可能再次分得CPU时间。调用yield()的效果等价于调度程序认为该线程已执行了足够的时间从而转到另一个线程。选项D错误,wait()和notify()两个方法常配套使用,wait()使得线程进入阻塞状态,它有两种形式,一种允许指定以毫秒为单位的一段时间作为参数,另一种没有参数,前者当对应的notify()被调用或者超出指定。

第2题:

下列有关Windows XP处理器管理功能的叙述,其中错误的是

A.Windows XP的各个版本只能支持单处理器的PC

B.总是最高优先级的可运行线程占用处理器并进入运行状态

C.程运行过程中,线程的当前优先级会根据情况被动态地调整

D.线程的优先级分为0~31,优先级的数值越大则优先级越高


正确答案:A
解析:处理器就是我们所说的CPU,又称中央处理器,主要是由运算器、控制器、寄存器组和内部总线等组成。XP可以运行在双核CPU的PC机上。

第3题:

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

A.调用线程的sleep()方法,可以使比当前线程优先级低的线程获得运行机会

B.调用线程的yield()方法,可以使与当前线程相同优先级的线程获得运行机会

C.当有比当前线程优先级高的线程出现时,高优先级线程将抢占CPU并运行.

D.具有相同优先级的多个线程的调度一定是分时的


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

第4题:

yield()方法只能让相同优先级或者更高优先级、处于()状态的线程获得运行的机会


正确答案:就绪

第5题:

在下列有关WindowsXP处理器调度以及进程与线程优先级的叙述中.错误的是( )

A.WindowsXP实现了一个优先级驱动的、抢先式的处理器调度系统

B.进程的优先级与其所含的线程的优先级总是相同的

C.在某些情况下系统会提升线程的当前优先级

D.通过“任务管理器”用户可以对进程的优先级进行适当的调整


正确答案:B
解析:一个进程只有一个基本优先级值,但每个线程有两个优先级值,即基本优先级和当前优先级,处理器的调度是根据当前优先级做出的。抢先模式下,当一个高优先级的线程变成就绪时,低优先级的线程就抢先。

第6题:

线程的______方法只给具有与当前线程相同优先级的线程运行的机会。


正确答案:yield()
yield()

第7题:

使得线程放弃当前分得的CPU时间,但不使线程阻塞,即线程仍处于可执行状态,随时可能再次分得CPU时间的方法是( )。

A.time( )

B.yield( )

C.load( )

D.min( )


正确答案:B
本题考查线程阻塞的概念。yield()方法使得线程放弃当前分得的CPU时间,但是不使线程阻塞,即线程仍处于可执行状态,随时可能再次分得CPU时间。调用yield()的效果等价于调度程序认为该线程已执行了足够的时间从而转到另-个线程。

第8题:

下列哪个选项不能使当前线程停止执行()。

A.一个异常被抛出

B.线程执行了sleep()调用

C.高优先级的线程处于可运行状态

D.当前线程产生了一个新线程


参考答案:D

第9题:

Thread类提供了一系列基本线程控制方法,如果我们需要让与当前进程具有相同优先级的线程也有运行的机会则可以调用()方法。


正确答案:yield()

第10题:

线程控制方法中,yield()的作用是()

  • A、返回当前线程的引用
  • B、使比其低的优先级线程执行
  • C、强行终止线程
  • D、只让给同优先级线程运行

正确答案:D

更多相关问题