全国信息技术应用考试

Java线程的生命周期有哪些状态?简述线程状态转换方式。

题目

Java线程的生命周期有哪些状态?简述线程状态转换方式。

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

下面关于线程状态及转换的描述,正确的是()。

A、线程从阻塞状态只能进入就绪状态,而不能直接进入运行状态

B、当线程对象调用了start()方法后,该线程就进入运行状态

C、一旦进入死亡状态,线程将不再拥有运行的资格,也不能再转换到其他状态

D、线程只能从新建状态转换到就绪状态,反之则不能


参考答案:ABC

第2题:

线程对象的生命周期中,通常经历下面哪些状态()。

A.新建

B.运行

C.就绪

D.死亡


正确答案:ABCD

第3题:

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

A.运行状态

B.阻塞状态

C.可运行状态

D.终止状态


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

第4题:

简述线程的生命周期,重点注意线程阻塞的几种情况,以及如何重回就绪状态。


正确答案:线程的声明周期:新建-就绪-(阻塞)-运行--死亡
线程阻塞的情况:休眠、进入对象wait池等待、进入对象lock池等待;
休眠时间到回到就绪状态;在wait池中获得notify()进入lock池,然后获得锁棋标进入就绪状态。

第5题:

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

A.新建状态

B.阻塞状态

C.可运行状态

D.运行状态


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

第6题:

在Java中,可以利用程序使线程从执行状态转换到阻塞状态,即调用wait方法。()


参考答案:正确

第7题:

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

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

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

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

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


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

第8题:

在采用多线程技术的系统中,下列关于线程的描述哪些是正确的?( )

Ⅰ. 每个线程有自己的标识符

Ⅱ. 每个线程拥有系统分配给它的独立使用的地址空间

Ⅲ. 线程有状态及状态转换

A) 仅Ⅰ和Ⅱ

B) 仅Ⅱ和Ⅲ

C) 仅Ⅰ和Ⅲ

D) 都正确


正确答案:C

第9题:

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

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

正确答案:B,C

第10题:

线程在生命周期中要经历5种状态,分别是创建状态、就绪状态、运行状态、堵塞状态、()状态。


正确答案:销毁