参考答案和解析
正确答案:C
C。【解析】线程调用sleep函数后,使当前线程进入停滞状态。yield函数可使线程进入可执行状态,排程器从可执行状态的线程中重新排程,调用了yield函数的线程有可能被马上执行,也有可能不会马上执行。notify函数从线程等待池中移走任意一个线程,并把它放到锁标志等待池中,其状态仍旧是等待。所以只有sleep一定会改变线程状态。
更多“下列方法被调用后,一定使调用线程改变当前状态的是( )。 A.notifyB.yieldC.sleepD.isAlive ”相关问题
  • 第1题:

    请教:2016年计算机二级考试Java练习题一单选题1如何解答?

    下列方法被调用后,一定使调用线程改变当前状态的是。

    A.notify()

    B.yield()

    C.sleep()

    D.isAlive()


    C

    【解析】线程调用sleep函数后,使当前线程进入停滞状态。yield函数可使线程进入可执行状态,排程器从可执行状态的线程中重新排程,调用了yield函数的线程有可能被马上执行,也有可能不会马上执行。notify函数从线程等待池中移走任意一个线程,并把它放到锁标志等待池中,其状态仍旧是等待。所以只有sleep一定会改变线程状态。

  • 第2题:

    下列说法中错误的一项是______。

    A.当线程需要在synchronized块中等待共享数据状态改变时,则需要调用wait()方法

    B.当线程需要在synchronized块中等待共享数据状态改变时,则需要调用notify()方法

    C.wait()和notify()可以实现线程的同步操作

    D.线程在synchronized块中执行完操作后,调用notify()方法通知正在等待的线程重新占有锁


    正确答案:B
    解析:线程调用wait()方法,进入等待状态,并且暂时释放共享数据的对象锁,其他的线程可以获得该对象锁,进入临界区进行操作,操作完成之后,再调用notify()方法通知等待的线程重新占有锁,这样就实现了线程的同步操作。

  • 第3题:

    在线程通信中,调用()方法可以是当前线程处于等待状态,而为了唤醒一个等待的线程,需要调用的方法是notify()/notifyAll()。(写出方法名)


    为notify()/notifyAll()

  • 第4题:

    下列方法被调用后,一定使调用线程改变当前状态的是( )。A.notify( )B.yield( )SXB

    下列方法被调用后,一定使调用线程改变当前状态的是( )。

    A.notify( )

    B.yield( )

    C.sleep( )

    D.isAlive( )


    正确答案:C
    线程调用sleep函数后,使当前线程进入停滞状态。yield函数可使线程进入可执行状态,排程器从可执行状态的线程中重新排程,调用了yield函数的线程有可能被马上执行,也有可能不会马上执行。notify函数从线程等待池中移走任意-个线程,并把它放到锁标志等待池中,其状态仍旧是等待。所以只有sleep-定会改变线程状态。

  • 第5题:

    下列关于Thread类的线程控制方法的说法中错误的选项是()。

    A.线程可以通过调用sleep()方法使比当前线程优先级低的线程运行

    B.线程可以通过调用yield()方法使和当前线程优先级一样的线程运行

    C.线程的sleep()方法调用结束后,该线程进入运行状态

    D.若没有相同优先级的线程处于可运行状态,线程调用yield()方法时,当前线程将继续执行


    C