itgle.com
更多“在Java中,高优先级的可运行线程会抢占低优先级线程。”相关问题
  • 第1题:

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

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

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

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

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


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

  • 第2题:

    下列有关线程的叙述哪个是正确的?

    A.一旦一个线程被创建,它就立即开始运行

    B.调用start( )方法可以使一个线程成为可运行的,但是它不一定立即开始运行

    C.主线程不具有默认优先级

    D.Java中线程的优先级从低到高以整数0~9表示


    正确答案:B
    解析:一个新创建的线程并不是自动开始运行的,必须调用它的start()方法使之将线程放入可运行态。不同优先级的线程间是抢先式的,而同级线程间是轮转式的。主线程具有默认优先级。Java中线程的优先级从低到高以整数1-10表示,分10级。

  • 第3题:

    下面关于线程优先级的说法中,错误的是()。

    A.java中的线程的优先级有三个静态常量

    B.新建线程的优先级默认为最低

    C.优先级高的线程优先被执行

    D.一个线程运行时,有可能被比它高优先级的线程抢占运行


    正确答案:B

  • 第4题:

    下列说法正确的是______。

    A.即使高优先级的线程调用slee()方法睡眠时,低优先级的线程也没有办法获得处理器资源

    B.一个暂时终止运行的线程,在排除了终止原因后直接运行

    C.一个正在执行的线程使用yield()方法将处理器让出给同优先级的其他线程

    D.调用suspend()方法暂停自己的线程,也可以自行调用resume()方法恢复自身


    正确答案:C
    解析:线程调用sleep()方法后,相同优先级的线程和低优先级的线程都将获得可执行的机会,所以选项A错误。yield()方法使当前线程暂停执行,以允许其他线程执行。调用yield()方法后,线程仍处于可运行状态,此时,可以选择其他已进入可运行状态且优先级相同的线程执行。若无同优先级线程,当前线程会继续执行,所以选项C正确。调用suspend()方法使线程暂停执行,由可运行状态切换到不可运行状态,要想恢复执行必须由其他线程而非自身来调用resume()方法,所以选项B和D错误。

  • 第5题:

    在Java程序中,主线程一般具有【 】优先级。


    正确答案:普通 或5
    普通 或5 解析:线程是有优先级的。有3个有关线程优先级的静态常量:
    Thread.MIN PRIORITY(最低优先级,通常为1)。
    Thread.MAX PRIORITY(最高优先级,通常为10)。
    Thread.NORM PRIORITY(默认优先级,通常为5)。
    一般情况下,主线程具有普通优先级NORM PRIORITY,普通优先级的默认值为5。因此,本题的正确答案为普通或5。

  • 第6题:

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

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

    正确答案:D

  • 第7题:

    线程可以调用yield方法使低优先级的线程运行。


    正确答案:错误

  • 第8题:

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

    • A、调用线程的sleep()方法,可以使比当前线程优先级低的线程获得运行机会
    • B、调用线程的yeild()方法,只会使与当前线程相同优先级的线程获得运行机会
    • C、具有相同优先级的多个线程的调度一定是分时的
    • D、分时调度模型是让所有线程轮流获得CPU使用权

    正确答案:B,C

  • 第9题:

    判断题
    线程可以调用yield方法使低优先级的线程运行。
    A

    B


    正确答案:
    解析: 暂无解析

  • 第10题:

    判断题
    Java虚拟机(JVM)中的线程调度器负责管理线程,调度器把线程的优先级分为10个级别,分别用Thread类中的类常量表示。每个Java线程的优先级都在常数1和10之间,即Thread.MIN_PRIORITY和Thread.MAX_PRIORITY之间。如果没有明确地设置线程的优先级别,每个线程的优先级都为常数8。
    A

    B


    正确答案:
    解析: 暂无解析

  • 第11题:

    单选题
    在java程序中,下列关于线程的说法错误的是()
    A

    线程启动调用start方法

    B

    线程的主体是run方法

    C

    线程运行中调用sleep方法可以进入阻塞状态

    D

    在java中,优先级的数值为1的线程可以抢占优先级为5的线程的资源


    正确答案: A
    解析: 暂无解析

  • 第12题:

    单选题
    Windows NT内核的线程调度程序采用的调度算法是()。
    A

    可抢占的动态优先级

    B

    不可抢占的动态优先级

    C

    可抢占的固定优先级

    D

    不可抢占的循环优先级


    正确答案: A
    解析: 线程调度程序的主要功能是选择一个适当的线程到处理机上去执行并进行描述表切换。内核的线程调度程序采用的调度算法是可抢占的动态优先级调度算法。线程调度程序按线程的优先级进行调度,高优先级的线程先被调度。

  • 第13题:

    下列叙述中,正确的是

    A.线程与进程在概念上是不相关的

    B.一个线程可包含多个进程

    C.一个进程可包含多个线程

    D.Java中的线程没有优先级


    正确答案:C
    解析:本题考查有关线程的基本知识。
      线程与进程在概念卜是相关的。进程是程序的一次动态执行过程,它对应了从代码加载、执行到执行完毕的一个完整过程,这个过程也是进程本身从产生、发展到消亡的过程。线程是由表示程序运行状态的寄存器、程序计数器、栈指针以及堆栈组成,它不包含进程地址空间中的代码和数据。因此,选项A的说法是错误的。
      线程是比进程更小的单位。一个进程在其执行过程中,可以产生多个线程,形成多个执行流。每个执行流即每个线程也有它自身的产生、存在和消亡的过程,也是一个动态的概念。因此,选项B的说法是错误的,而选项C的说法是正确的。
      线程是有优先级的。Threa类有3个有关线程优先级的静态常量:
      Thread.MIN PRIORITY(最低优先级,通常为1)、Thread.MAX_PRIORITY(最高优先级,通常为10)、Thread.NORM_PRIORITY(默认优先级,通常为5)。因此,选项D的说法是错误的。
      因此,本题的正确答案是选项C。

  • 第14题:

    下列关于线程状态和生命周期的说法不正确的是

    A.一个线程组内不仅可以包含线程,还可以包含其他线程组

    B.线程在终止状态可以调用start()方法使它可运行

    C.在Java中,最顶层的线程组是main

    D.线程执行过程中,有一个更高优先级的线程进入可运行状态,这个线程立即被调度执行,当前线程占有的CPU被抢占


    正确答案:B
    解析:终止状态是线程执行结束的状态,没有方法可以改变它。

  • 第15题:

    下列关于线程的优先级叙述,不正确的是( )。

    A.线程的优先级从其父线程继承而来

    B.Java的线程调度是基于优先级的抢先式调度

    C.在Java中,总是选择高优先级的线程先执行

    D.线程的优先级与线程组一样,程创建时获得,在运行过程中只能读取,不能更改


  • 第16题:

    下列关于线程优先级的说法有误的是

    A.线程的优先级数值越大,表示该线程优先级越低

    B.新建线程将继承创建它的父线程的优先级

    C.NORM_PRIORITY代表普通优先级,默认值是5

    D.一般情况下,主线程具有普通优先级


    正确答案:A
    解析:线程的优先级数值越大,表示该线程优先级越高。注意:①其中MAX_PRIORITY代表10,表示该线程优先级最高MIN_PRIORI-TY代表1,表示该线程优先级最低。②可以通过setPhriority()方法来设定线程的优先级。

  • 第17题:

    Java虚拟机(JVM)中的线程调度器负责管理线程,调度器把线程的优先级分为10个级别,分别用Thread类中的类常量表示。每个Java线程的优先级都在常数1和10之间,即Thread.MIN_PRIORITY和Thread.MAX_PRIORITY之间。如果没有明确地设置线程的优先级别,每个线程的优先级都为常数8。


    正确答案:错误

  • 第18题:

    在java程序中,下列关于线程的说法错误的是()

    • A、线程启动调用start方法
    • B、线程的主体是run方法
    • C、线程运行中调用sleep方法可以进入阻塞状态
    • D、在java中,优先级的数值为1的线程可以抢占优先级为5的线程的资源

    正确答案:D

  • 第19题:

    每个Java线程的优先级都设置在常数1~12之间,默认的优先级设置为常数6。


    正确答案:错误

  • 第20题:

    Windows NT内核的线程调度程序采用的调度算法是()。

    • A、可抢占的动态优先级
    • B、不可抢占的动态优先级
    • C、可抢占的固定优先级
    • D、不可抢占的循环优先级

    正确答案:A

  • 第21题:

    单选题
    线程控制方法中,yield()的作用是()
    A

    返回当前线程的引用

    B

    使比其低的优先级线程执行

    C

    强行终止线程

    D

    只让给同优先级线程运行


    正确答案: D
    解析: 暂无解析

  • 第22题:

    判断题
    在Java中,高优先级的可运行线程会抢占低优先级线程。
    A

    B


    正确答案:
    解析: 暂无解析

  • 第23题:

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

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

    B

    调用线程的yeild()方法,只会使与当前线程相同优先级的线程获得运行机会

    C

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

    D

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


    正确答案: C
    解析: 暂无解析