java练习题-多线程

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

多线程

一、判断题

1.如果线程死亡,它便不能运行。(√)

2.在Java中,高优先级的可运行线程会抢占低优先级线程。(√)

3.线程可以用yield方法使低优先级的线程运行。(×)

4...程序开发者必须创建一个线程去管理内存的分配。(×)

5.一个线程在调用它的start方法,之前,该线程将一直处于出生期。(√)

6.当调用一个正在进行线程的stop( )方法时,该线程便会进入休眠状态。(×)

7.一个线程可以调用yield方法使其他线程有机会运行。(√)

二、选择题

1.Java语言中提供了一个▁d▁线程,自动回收动态分配的内存。

A.异步

B.消费者

C.守护

D.垃圾收集

2.Java语言避免了大多数的▁c▁错误。

A.数组下标越界

B.算术溢出

C.内存泄露

D.非法的方法参数

3.有三种原因可以导致线程不能运行,它们是▁acd▁。

A.等待

B.阻塞

C.休眠

D.挂起及由于I/O操作而阻塞

4.当▁a▁方法终止时,能使线程进入死亡状态。

A.run

B.setPrority

C.yield

D.sleep

5.用▁b▁方法可以改变线程的优先级。

A.run

B.setPrority

C.yield

D.sleep

6.线程通过▁c▁方法可以使具有相同优先级线程获得处理器。

A.run

B.setPrority

C.yield

D.sleep

7.线程通过▁d▁方法可以休眠一段时间,然后恢复运行。

A.run

B.setPrority

C.yield

D.sleep

8.方法resume( )负责重新开始▁d▁线程的执行。

A.被stop( )方法停止

B.被sleep( )方法停止

C.被wait( )方法停止

D.被suspend( )方法停止

9.▁BCD▁方法可以用来暂时停止当前线程的运行。

A.stop( )

B.sleep( )

C.wait( )

D.suspend( )

三、简述题

1.简述程序、进程和线程之间的关系?什么是多线程程序?

答:多线程是多个线程同时在执行。这些线程的执行是并发的,在逻辑上是同时进行,各个线程的控制流彼此独立。

2.线程有哪几个基本状态?它们之间如何转化?简述线程的生命周期。

答:新生状态—就绪状态—运行状态—等待状态—休眠状态—阻塞状态—死亡状态使用new创建新线程时,为新生状态;调用已经完成创建的线程中的start()方法之前,处于就绪状态;调用start()方法之后,处于运行状态;当线程需要获得对象的内置锁,而该锁正被其他线程拥有时,处于阻塞状态;

3.试简述Thread类的子类或实现Runnable接口两种方法的异同?

答:

class Threadx1 extends Thread

class Threadx2 implements Runnable

相关文档
最新文档