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

题目

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

  • A、线程试图获取某个对象的同步锁,而该锁被其它线程持有
  • B、线程调用了另一个线程的join()方法
  • C、当线程调用了一个阻塞式的IO方法
  • D、线程调用了setDaemon(boolean b)方法
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

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

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

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

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

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


参考答案:ABC

第2题:

下列哪个方法可以使线程从运行状态进入其他阻塞状态()

A.wait

B.start

C.yield

D.sleep


参考答案:D

第3题:

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

A.sleep()方法的时间到

B.获得了对象的锁

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

D.wait()方法结束


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

第4题:

线程调用sleep()方法后,该线程将进入以下哪种状态?

A.就绪状态

B.运行状态

C.阻塞状态

D.死亡状态


答案:C

第5题:

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

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

A.sleep方法的时间到

B.获得了对象的锁

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

D.wait方法结束


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

第6题:

当线程处于阻塞状态时,线程( )。

A. 正在占用处理机

B.没有占用处理机

C. 将进入执行状态

D.将进入结束状态


参考答案:B

第7题:

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

A.yield()

B.start()

C.wait()

D.notify()


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

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

第8题:

下列哪个方法可以使线程从运行状态进入到阻塞状态()。

A、start()

B、sleep()

C、yield()

D、wait()


参考答案:BD

第9题:

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

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

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

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

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


第10题:

线程由于调用sleep()方法进入阻塞状态,当睡眠结束时,该线程将进入______状态。


正确答案:可运行状态(Runnable)。
可运行状态(Runnable)。 解析:sleep()方法结束后,线程将进入可运行状态。

更多相关问题