Java语言程序设计

单选题如果要安全地终止一个线程t,可以采用的正确方法是(  )。A 调用t.stop()方法B 可以使用标志flag,通过设置flag通知线程t结束C 调用t.suspend()方法D 调用t.yield()方法

题目
单选题
如果要安全地终止一个线程t,可以采用的正确方法是(  )。
A

调用t.stop()方法

B

可以使用标志flag,通过设置flag通知线程t结束

C

调用t.suspend()方法

D

调用t.yield()方法

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

第1题:

下列说法正确的是()。

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

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

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

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


正确答案:A

第2题:

如果一个线程调用【 】 ()方法,将使该线程进入休眠状态。


正确答案:【 】sleep
【 】sleep 解析:Thread类中定义的静态sleep()方法能够使当前运行中的线程暂停执行(即休眠)一段指定时间。当休眠线程被中断时,会抛出InterruptedException异常。由于sleep()方法只能影响当前执行中的线程,因此必须由该线程来调用方法,而不能由其他线程强制执行休眠。

第3题:

下列叙述正确的是( )。

A.线程的执行从run()方法开始,需要调用start()方法运行线程

B.可以通过实现Runnable接口,并且重写start()方法创建线程

C.可以通过继承Thread类,并且重写start()方法创建进程

D.线程执行从start()方法开始,需要通过调用run()方法运行线程


正确答案:A
解析:创建线程有两种方法:实现java. lang. Runnable接口;继承Thread类并重写run( )方法。run( )方法定义了线程体和线程的具体行为。创建线程后,需要调用start( )方法运行线程。

第4题:

下列说法正确的是______。

A.即使高优先级的线程调用slee()方法睡眠时,低优先级的线程也没有办法获得处理器资源

B.一个暂时终止运行的线程,在排除了终止原因后直接运行

C.一个正在执行的线程使用yield()方法将处理器让出给同优先级的其他线程

D.调用suspend()方法暂停自己的线程,也可以自行调用resume()方法恢复自身


正确答案:C
解析:线程调用sleep()方法后,相同优先级的线程和低优先级的线程都将获得可执行的机会,所以选项A错误。yield()方法使当前线程暂停执行,以允许其他线程执行。调用yield()方法后,线程仍处于可运行状态,此时,可以选择其他已进入可运行状态且优先级相同的线程执行。若无同优先级线程,当前线程会继续执行,所以选项C正确。调用suspend()方法使线程暂停执行,由可运行状态切换到不可运行状态,要想恢复执行必须由其他线程而非自身来调用resume()方法,所以选项B和D错误。

第5题:

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

A.sleep()方法的时间到

B.获得了对象的锁

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

D.wait()方法结束


正确答案:D
解析:线程调用wait()方法时,线程由运行状态进入等待阻塞状态;在等待阻塞状态下的线程若被notifyAll()和notionAll()唤醒、被interrupt()中断或者等待时间到,线程将进入对象锁阻塞状态,而不是直接进入可运行状态。

第6题:

resume()力法恢复哪些线程的执行

A.通过调用stop()方法而停止的线程

B.通过调用sleep()方法而停止运行的线程

C.通过调用wait()方法而停止运行的线程

D.通过调用suspend()方法而停止运行的线程


正确答案:D
解析:本题考查resume()方法的使用。在Thread的API文档中的说明是该方法恢复被挂起(suspend)的线程。该方法首先调用该线程的无参的checkAccess()方法,这可能在当前线程上抛出SecurityException异常,如果该线程是活着的(alive)但被挂起(suspend),它被恢复并继续它的执行进程。

第7题:

方法resume()负责恢复哪些线程的执行( )。

A.通过调用stop()方法而停止的线程

B.通过调用sleep()方法而停止运行的线程

C.通过调用wait()方法而停止运行的线程

D.通过调用suspend()方法而停止运行的线程


正确答案:D
解析:本题是考查线程中能引起resume()方法调用的情况,在Thread的API文档中的说明是该方法恢复被挂起的(suspendeD) 线程。该方法首先调用该线程的无参的checkAccess()方法,这可能在当前线程上抛出SecurityExcep tion异常,如果该线程是活着的(alive)但被挂起(suspenD) ,则它被恢复并继续执行。

第8题:

resume( )方法恢复哪些线程的执行?

A.通过调用stop( )方法而停止的线程

B.通过调用sleep( )方法而停止运行的线程

C.通过调用wait( )方法而停止运行的线程

D.通过调用suspend( )方法而停止运行的线程


正确答案:D
解析: Thread的API文档说明此方法恢复被挂起的线程。首先调用此线程的无参数的 checkAccess( )方法,这可能在当前线程上抛出SecurityException异常,如果此线程是活动的但被挂起,它将被恢复并继续其执行进程。

第9题:

resume方法恢复( )的执行。

A.通过调用stop方法而停止的线程

B.通过调用sleep方法而停止运行的线程

C.通过调用wait方法而停止运行的线程

D.通过调用suspend方法而停止运行的线程


正确答案:D
D。【解析】本题考查resume方法的使用。在Thread的API文档中的说明是该方法恢复被挂起(suspende)的线程。该方法首先调用该线程的无参的checkAccess方法,这可能在当前线程上抛出SecurityExeeption异常,如果该线程是活着的(alive)但被挂起(suspend),它被恢复并继续它的执行进程。

第10题:

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

A.线程调用了sleep()方法时

B.线程调用了join()方法

C.线程调用了yield()方法时

D.线程调用了notify()方法


答案:D

更多相关问题