Java语言程序设计

单选题如果线程正处于运行状态,则它可能到达的下一个状态是(  )。A 只有终止状态B 只有阻塞状态和终止状态C 可运行状态,阻塞状态,终止状态D 其他所有状态

题目
单选题
如果线程正处于运行状态,则它可能到达的下一个状态是(  )。
A

只有终止状态

B

只有阻塞状态和终止状态

C

可运行状态,阻塞状态,终止状态

D

其他所有状态

参考答案和解析
正确答案: C
解析:
线程的生命周期主要分为如下几个状态:新建状态、可运行状态、阻塞状态、终止状态。运行状态(Running)线程是占有CPU并实际运行的状态。此时线程状态的变迁有3种情况:①如果线程正常执行结束或应用程序停止运行时,线程将进入终止状态;②如果当前线程执行了yield()或者当前线程因调度策略(如采用时间片轮转调度原则时当前进程的时间片使用完,但是该进程还未执行结束,那么便会到达就绪状态)从而导致当前线程进入可运行状态(也叫就绪状态);③当线程调用了sleep()方法、join()方法、wait()方法时,使用synchronized来请求对象的锁未获得时,有输入输出操作时,线程就进入阻塞状态。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

线程生命周期中可能具有的状态是( )。

A.新建状态、运行状态和终止状态

B.新建状态、运行状态、阻塞状态和终止状态

C.新建状态、可运行状态、运行状态、阻塞状态和终止状态

D.新建状态、可运行状态、运行状态、恢复状态和终止状态


正确答案:C
解析:线程在其生命周期中,不同的生命阶段具有不同的状态。线程的主要状态有新建状态、可运行状态、运行状态、阻塞状态和终止状态。

第2题:

判断下列进程状态是否可以转换,如可以请说明典型原因。(1)运行状态—就绪状态;(2)运行状态—阻塞状态;(3)阻塞状态—运行状态;(4)运行状态—终止状态。


参考答案:(1)可以,当时间片用完时,或者就绪队列来了更高优先权进程;
(2)可以,当进程所需要的资源得不到满足时;
(3)不可以;
(4)可以,当进程执行完成终止时。

第3题:

线程在生命周期中要经历5种状态。如果线程当前是新建状态,则它可到达的下一个状态是

A.运行状态

B.阻塞状态

C.可运行状态

D.终止状态


正确答案:C
解析:本题考查线程的生命周期。线程一旦创建,就开始了它的生命周期。线程的声明周期主要分为:新建状态(new),线程创建后处于该状态:可运行状态
  (Runnable),新建的线程调用start()方法,将使线程的状态从New转换为Runnable,所以选项C正确;运行状态(Running),运行状态使线程占有CPU并实际运行的状态;阻塞状态(Blocked),导致该状态的原因很多,注意区别;终止状态(Dead),线程执行结束的状态,没有任何方法可改变它的状态。

第4题:

如果线程正处于运行状态,则它可能到达的下-个状态是( )。

A.只有终止状态

B.只有阻塞状态和终止状态

C.可运行状态、阻塞状态、终止状态

D.其他所有状态


正确答案:C
下-个状态可以是可运行状态、阻塞状态、终止状态中的任-种。

第5题:

如果线程正处于运行状态,可使该线程进入阻塞状态的方法是

A.yield()

B.start()

C.wait()

D.notify()


正确答案:C
解析:本题考查线程的生命周期。线程的生命周期主要分为以下几个状态:新建状态、可运行状态、运行状态、阻塞状态和终止状态。各周期之间的转换关系及控制方法如下图所示:

从图上可知,题目的四个选项中,只有选项C的方法可以使线程进入阻塞状态。

第6题:

( 19 )如果线程正处于运行状态,则它可能到达的下一个状态是

A )只有终止状态

B )只有阻塞状态和终止状态

C )可运行状态,阻塞状态,终止状态

D )其他所有状态


正确答案:C

第7题:

关于线程的生命周期以下状态正确的是( )。

A.新建状态、可运行状态、阻塞状态、恢复状态和终止状态

B.新建状态、运行状态、阻塞状态、恢复状态和终止状态

C.新建状态、可运行状态、运行状态、阻塞状态和终止状态

D.新建状态、可运行状态、运行状态、恢复状态和终止状态


正确答案:C
线程生命周期中出现的状态包括:新建状态、可运行状态、运行状态、阻塞状态和终止状态。

第8题:

线程生命周期中正确的状态是

A.新建状态、运行状态和终止状态

B.新建状态、运行状态、阻塞状态和终止状态

C.新建状态、可运行状态、运行状态、阻塞状态和终止状态

D.新建状态、可运行状态、运行状态、恢复状态和终止状态


正确答案:C
解析:线程的状态与生命周期如下图所示:

由上图可知,线程生命周期中出现的状态包括:新建状态、可运行状态、运行状态、阻塞状态、终止状态。因此正确答案是C。

第9题:

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

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

A.sleep方法的时间到

B.获得了对象的锁

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

D.wait方法结束


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

第10题:

如果线程正处于运行状态,则它可能到达的下一个状态是( )。

A.只有终止状态

B.只有阻塞状态和终止状态

C.可运行状态,阻塞状态,终上状态

D.其他所有状态


正确答案:C
解析:下一个状态是可以是可运行状态,阻塞状态,终止状态中的任一种。

更多相关问题