更多“下列方法被调用后,一定使调用线程改变当前状态的是(  )。”相关问题
  • 第1题:

    在-个线程中调用下列方法,不会改变该线程运行状态的是( )。

    A.yield方法

    B.另-个线程的join方法

    C.sleep方法

    D.-个对象的notify方法


    正确答案:B
    另-个线程的join方法是使得另-个线程等待,直到本线程结束为止,另-个线程恢复到可运行状态,不会改变本线程的运行状态。

  • 第2题:

    调用线程的下列方法,不会改变该线程在生命周期中状态的方法是( )。

    A.yeild()

    B.wait()

    C.sleep()

    D.isAlive()


    正确答案:D
    解析:本题考查线程的概念。调用线程的 sleep()方法、yeild()方法和wait()方法都会将线程阻塞,而isAlive()是用来测试线程,以确定线程是否活着。该方法如果返回true,则意味着线程已经启动,但还没有结束,并不影响线程的生命周期,所以选项D正确。

  • 第3题:

    调用线程的下列方法中,( )可以改变该线程在生命周期中的状态。

    A.setPriority ( )

    B.currentThread ( )

    C.start ( )

    D.aetiveCount ( )


    正确答案:C
    解析:setPriority()方法的功能是设置线程的优先级;currentThread()方法的功能是返回当前线程的引用;activeCount()方法的功能是获取当前线程所属线程组中活动线程数。start()方法的功能是启动线程,使线程进入可运行状态。

  • 第4题:

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

    A.线程一旦创建,则立即自动运行

    B.线程创建后需要调用start()方法,将线程置于可运行状态

    C.线程处于可运行状态,意味着它可以被调度

    D.调用线程的start()方法后,线程也不一定能立即执行


    正确答案:A

  • 第5题:

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

    A.notify

    B.yield

    C.sleep

    D.isAlive


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

  • 第6题:

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

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

    A.notify()

    B.yield()

    C.sleep()

    D.isAlive()


    C

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

  • 第7题:

    在以下哪种情况下,线程进入就绪状态?()

    • A、线程调用了sleep()方法时
    • B、线程调用了join()方法(终止)
    • C、线程调用了yield()方法时
    • D、线程调用了notify()方法

    正确答案:D

  • 第8题:

    下面四个选项中,哪些是线程进入阻塞状态的原因?()

    • A、线程试图获取某个对象的同步锁,而该锁被其它线程持有
    • B、线程调用了另一个线程的join()方法
    • C、当线程调用了一个阻塞式的IO方法
    • D、线程调用了setDaemon(boolean b)方法

    正确答案:A,B,C

  • 第9题:

    守护线程一般被用于在后台为其它线程提供服务。调用方法()来判断一个线程是否是守护线程,也可以调用方法()将一个线程设为守护线程。


    正确答案:isDaemon();setDaemon()

  • 第10题:

    多选题
    下面四个选项中,哪些是线程进入阻塞状态的原因?()
    A

    线程试图获取某个对象的同步锁,而该锁被其它线程持有

    B

    线程调用了另一个线程的join()方法

    C

    当线程调用了一个阻塞式的IO方法

    D

    线程调用了setDaemon(boolean b)方法


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

  • 第11题:

    单选题
    在以下哪种情况下,线程进入就绪状态?()
    A

    线程调用了sleep()方法时

    B

    线程调用了join()方法(终止)

    C

    线程调用了yield()方法时

    D

    线程调用了notify()方法


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

  • 第12题:

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

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

    B

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

    C

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

    D

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


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

  • 第13题:

    在一个线程中调用下列方法,不会改变该线程运行状态的是( )。

    A.yield方法

    B.另一个线程的join方法

    C.sleep方法

    D.一个对象的notify方法


    正确答案:B
    B。【解析】另一个线程的join方法是使得另一个线程等待,直到本线程结束为止,另一个线程恢复到可运行状态,不会改变本线准的运行状态。

  • 第14题:

    下列说法正确的是()。

    A.线程的终止一般可通过两种方法来实现,自然撤销(线程执行完)或是被停止(调用stop()方法)

    B.一个暂时终止运行的线程(例如,睡眠或阻塞)在排除了终止原因后直接运行

    C.一个线程因为输入输出操作被阻塞时,执行resume()方法可以使其恢复就绪状态

    D.调用了suspend()方法,也可以使线程进入死亡状态


    正确答案:A

  • 第15题:

    下列说法中错误的一项是

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

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

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

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


    正确答案:B
    解析:本题考查线程间交互的概念。当线程进入synchronized块后,共享数据的状态并不一定满足该线程的需要,它要等待其他线程将共享数据改变为所需要的状态后才能继续执行,但由于此时它占有了该对象的锁,其他线程无法对共享数据进行操作,此时线程调用wait()方法进入等待状态,并且暂时释放共享数据的对象锁,其他线程可以获得该对象锁,进入synchronized块进行操作,操作完成之后,再调用notify()方法通知等待的线程重新占有锁,这样就实现了线程的同步操作。由此可见,wait()方法是线程需要在 synchronized块中等待共享数据状态改变时调用,而notify()方法是线程在synchronized块中执行完操作后调用,用来通知正在等待的线程重新占有锁,选项B的说法错误。

  • 第16题:

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

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

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

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

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


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

  • 第17题:

    以下关于新建线程的叙述,正确的是( )。

    A.当线程被创建时,可以马上启动

    B.新建线程可以使用start( )、stop( )和wait( )等多个方法

    C.进入新建状态的线程,没有被分配资源

    D.新建状态的线程通过调用方法join( )可以进入阻塞状态


  • 第18题:

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

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

    A.notify( )

    B.yield( )

    C.sleep( )

    D.isAlive( )


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

  • 第19题:

    对于线程的生命周期,下面四种说法正确的有哪些?()

    • A、调用了线程的start()方法,该线程就进入运行状态 (就绪,还要获得CPU使用权)
    • B、线程的run()方法运行结束或被未catch的InterruptedException等异常终结,那么该线程进入死亡状态 
    • C、线程进入死亡状态,但是该线程对象仍然是一个Thread对象,在没有被垃圾回收器回收之前仍可以像引用其它对象一样引用它
    • D、线程进入死亡状态后,调用它的start()方法仍然可以重新启动

    正确答案:B,C

  • 第20题:

    Thread.sleep()方法调用后,当等待时间未到,该线程所处状态为()

    • A、阻塞状态
    • B、运行状态
    • C、就绪状态
    • D、新建状态

    正确答案:A

  • 第21题:

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

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

    正确答案:B,C

  • 第22题:

    单选题
    在一个线程中调用下列方法,不会改变该线程运行状态的是(  )。
    A

    yield方法

    B

    另一个线程的join方法

    C

    sleep方法

    D

    一个对象的notify方法


    正确答案: C
    解析:
    另一个线程的join方法是使得另一个线程等待,直到本线程结束为止,不会改变本线程的运行状态。A项,当前线程执行了yield()或者当前线程因调度策略可以使当前线程进入可运行状态;C项,线程调用了sleep()方法、join()方法时,线程进入阻塞状态;D项,在等待阻塞状态下的线程若被notify()和notifyAll()唤醒、被interrupt()中断或等待时间到,线程将进入对象锁阻塞状态。

  • 第23题:

    填空题
    守护线程一般被用于在后台为其它线程提供服务。调用方法()来判断一个线程是否是守护线程,也可以调用方法()将一个线程设为守护线程。

    正确答案: isDaemon(),setDaemon()
    解析: 暂无解析