更多“使得线程放弃当前分得的CPU时间,但不使线程阻塞,即线程仍处于可执行状态,随时可能再次分得CPU时 ”相关问题
  • 第1题:

    在多处理机线程调度和处理分配方法中,对独占式组调度性质和工作特点描述错误的是()。

    A、CPU利用率高

    B、线程运行过程中没有线程切换

    C、避免了线程间同步时间因调度问题延长

    D、把进程所需要的CPU一次性分给进程


    参考答案:A

  • 第2题:

    使线程放弃当前分得的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()被调用或者超出指定。

  • 第3题:

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

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

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

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

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


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

  • 第4题:

    线程在生命周期中要经历五种状态,在不使用stop()方法的情况下,线程当前处于终止状态,则它的上一个状态是( )。

    A.新建状态

    B.阻塞状态

    C.可运行状态

    D.运行状态


    正确答案:D
    解析:线程的生命周期过程为:(1)线程被创建后,并不马上启动,而是进入新建状态。此时线程没有分配资源,只能使用start()和stop()两个控制方法;(2)新建状态的线程在调用start()方法后,进入可运行状态。此时线程已经分配了必要资源,交给了系统调度。一旦线程实际占有了CPU,就进入了运行状态。(3)运行状态的线程如果调用了yield()方法、sleep()方法、join()方法或wait()方法,或者申请对象锁未果、有更高优先级线程进入调度等,都可进入阻塞状态。阻塞状态的线程在获取到足够的资源后,也可以转入到可运行状态。(4)当运行状态的线程正常执行完毕后,就进入了终止状态。

  • 第5题:

    ( 32 )如果线程正处于阻塞状态,不能够使线程直接进入可运行状态的情况是

    A ) sleep() 方法的时间到

    B )获得了对象的锁

    C )线程在调用 t.join() 方法后,线程 t 结束

    D ) wait() 方法结束


    正确答案:D

  • 第6题:

    一个线程在任何时刻都处于某种线程状态(threadstate),例如运行状态、阻塞状态、就绪状态等。一个线程可以由选项中的哪种线程状态直接到达运行状态?()

    • A、死亡状态
    • B、阻塞状态(对象lock池内)
    • C、阻塞状态(对象wait池内)
    • D、就绪状态

    正确答案:D

  • 第7题:

    下列关于超线程技术说法错误的是()

    • A、超线程技术的CPU在功能上与双核CPU相似
    • B、超线程技术就是利用特殊的硬件指令,把两个逻辑内核拟成物理芯片
    • C、超线程技术是让单个处理器能使用线程级并行计算,从而兼容多线程并行计算
    • D、只要CPU支持超线程技术就能发挥超线程的性能,与其它硬件和软件无关

    正确答案:C

  • 第8题:

    填空题
    CPU调度当前线程时,其它线程被(),当前线程处于()状态。

    正确答案: 挂机,运行
    解析: 暂无解析

  • 第9题:

    单选题
    一个线程在任何时刻都处于某种线程状态(threadstate),例如运行状态、阻塞状态、就绪状态等。一个线程可以由选项中的哪种线程状态直接到达运行状态?()
    A

    死亡状态

    B

    阻塞状态(对象lock池内)

    C

    阻塞状态(对象wait池内)

    D

    就绪状态


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

  • 第10题:

    单选题
    下面关于多线程的描述错误的是()。
    A

    线程是进程中的一个执行单元;是操作系统分配CPU时间的基本单元。

    B

    IsAlive可以获得当前线程的执行状态

    C

    新建一个线程必须要先实例化一个Thread对象

    D

    Thread对象的构造方法必须要使用ThreadStart委托


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

  • 第11题:

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

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

    B

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

    C

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

    D

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


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

  • 第12题:

    单选题
    以下关于线程异步问题的说法不正确的是()
    A

    线程在应用程序开发过程中负责分担进程的耗时计算工作。

    B

    一个进程中如果需要多个线程共同协作才能完成业务计算的话,往往会涉及到线程之间的数据通讯。

    C

    线程依靠CPU调度分配时间片获得运行机会,当CPU时间片耗尽,线程将会停止运行等待CPU的再次分配。

    D

    由于线程的运行与停止是可控的,所以当多个线程之间需要同时对一块进程中的共享内存进程操作的时候,就有可能发生线程异步交互错误。


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

  • 第13题:

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

    A.一个异常被抛出

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

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

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


    参考答案:D

  • 第14题:

    内存是进程范围or线程范围;____

    CPU 调度时,针对进程 or线程;____

    函数调用堆栈,针对进程or线程。____


    正确答案:
     

  • 第15题:

    如果线程正处于阻塞状态,不能够使线程直接进入可运行状态的情况是( )。 A.sleep方法的时间到S

    如果线程正处于阻塞状态,不能够使线程直接进入可运行状态的情况是( )。

    A.sleep方法的时间到

    B.获得了对象的锁

    C.线程在调用t.join方法后,线程t结束

    D.wait方法结束


    正确答案:D
    D。【解析】wait会使线程放弃对象锁,进入等待此对象的等待锁定池。

  • 第16题:

    VB代码的问题?!

    怎么写能让多核CPU满载,也就是申请CPU多线程(不是任务多线程)


    首先你要知道cup多核与主频之间的关系,多核不是指运行速度的关键,是多任务时分配工作,使任务合理分配使得提升运算能力,主频是CPU运算能力的参数,多核就相当于多个人工作,主频就是这些人的工作能力有多强,主频高的多核CPU那就是非常高端的了,现在4核已经很普遍了,还有六核的,CPU多线程好像听说过,是英特尔酷督I7的四核8线程CPU,那是CPU出厂固有的参数,改不了。

  • 第17题:

    进程(线程)调度的主要功能有

    A.根据一定的调度算法选择被调度的进程(线程)

    B.将CPU分配给选中的进程(线程)

    C.将换下CPU的进程(线程)的现场信息保存到进程控制块中

    D.将选中的进程(线程)的现场信息送入到相应寄存器中

    E.将阻塞的进程(线程)唤醒并置为就绪状态


    正确答案:ABCD

  • 第18题:

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

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

    正确答案:B,C

  • 第19题:

    填空题
    CPU调度其它线程时,当前线程处于()状态,其它线程处于()状态。

    正确答案: 就绪,运行
    解析: 暂无解析

  • 第20题:

    填空题
    线程对象的()方法用来阻塞当前线程,指定线程运行结束或超时后继续运行当前线程。

    正确答案: join()
    解析: 暂无解析

  • 第21题:

    单选题
    在C#中,通过调用Thread类的Sleep(intx)方法来实现禁止线程运行,其中x代表()。
    A

    禁止线程运行的微秒数

    B

    禁止线程运行的豪秒数

    C

    禁止线程运行的秒数

    D

    禁止线程以内性的CPU时间数


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

  • 第22题:

    单选题
    下列关于超线程技术说法错误的是()
    A

    超线程技术的CPU在功能上与双核CPU相似

    B

    超线程技术就是利用特殊的硬件指令,把两个逻辑内核拟成物理芯片

    C

    超线程技术是让单个处理器能使用线程级并行计算,从而兼容多线程并行计算

    D

    只要CPU支持超线程技术就能发挥超线程的性能,与其它硬件和软件无关


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

  • 第23题:

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

    init()

    B

    stop()

    C

    sleep()

    D

    start()


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