多线程练习题目.docx

上传人:b****3 文档编号:2898648 上传时间:2022-11-16 格式:DOCX 页数:16 大小:24.98KB
下载 相关 举报
多线程练习题目.docx_第1页
第1页 / 共16页
多线程练习题目.docx_第2页
第2页 / 共16页
多线程练习题目.docx_第3页
第3页 / 共16页
多线程练习题目.docx_第4页
第4页 / 共16页
多线程练习题目.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

多线程练习题目.docx

《多线程练习题目.docx》由会员分享,可在线阅读,更多相关《多线程练习题目.docx(16页珍藏版)》请在冰豆网上搜索。

多线程练习题目.docx

多线程练习题目

多线程

一、单项

1.下述哪个选项为真?

()

A.Error类是一个RoutimeException异常

B.任何抛出一个RoutimeException异常的语句必须包含在try块之内

C.任何抛出一个Error对象的语句必须包含在try块之内

D.任何抛出一个Exception异常的语句必须包含在try块之内

2.下列关于Java线程的说法哪些是正确的?

()

A.每一个Java线程可以看成由代码、一个真实的CPU以及数据3部分组成

B.创建线程的两种方法,从Thread类中继承的创建方式可以防止出现多父类问题

C.Thread类属于java.util程序包

D.以上说法无一正确

3.哪个关键字可以对对象加互斥锁?

()

A.transientB.synchronizedC.serializeD.static

4.下列哪个方法可用于创建一个可运行的类?

()

A.publicclassXimplementsRunable{publicvoidrun(){……}}

B.publicclassXimplementsThread{publicvoidrun(){……}}

C.publicclassXimplementsThread{publicintrun(){……}}

D.publicclassXimplementsRunable{protectedvoidrun(){……}}

5.下面哪个选项不会直接引起线程停止执行?

()

A.从一个同步语句块中退出来

B.调用一个对象的wait方法

C.调用一个输入流对象的read方法

D.调用一个线程对象的setPriority方法

6.使当前线程进入阻塞状态,直到被唤醒的方法是()

A.resume()方法B.wait()方法C.suspend()方法D.notify()方法

7.运行下列程序,会产生的结果是()

publicclassXextendsThreadimplementsRunnable{

publicvoidrun(){

System.out.println(“thisisrun()”);

}

publicstaticvoidmain(String[]args)

{

Threadt=newThread(newX());

t.start();

}

}

A.第一行会发生编译错误B.第六行会发生编译错误

C.第六行会发生运行错误D.程序会运行和启动

8.java.lang.ThreadGroup类的作用为()

A.使任何类都可以为线程提供线程体

B.定义了线程与交互的方法

C.提供了线程组或组中的每个线程进行操作的方法

D.以上都不是

9.实现线程的创建有()方法

A.一种B.两种C.三种D.四种

10.一个进程可以包含()个线程

A.一B.二C.三D.四

11.Java中的线程模型包含()

A.一个虚拟处理机B.CPU执行的代码

C.代码操作的数据D.以上都是

12.关于线程组以下说法错误的是()

A.在应用程序中线程可以独立存在,不一定要属于某个线程

B.一个线程只能创建时设置其线程组

C.线程组由java.lang包中的ThreadGroup类实现

D.线程组使一组线程可以作为一个对象进行统一处里或维护

13.下列定义线程方法正确的是()

A.PublicThread();

B.PublicThread(Runnabletarget);

C.PublicThread(ThreadGroupgroup,Runnabletarget);

D.以上都正确

14.以下不属于Thread类提供的线程控制方法是()

A.break()B.sleep()C.yield()D.join()

15.下列关于线程的说法正确的是()

A.线程就是进程

B.线程在操作系统出现后就产生了

C.Soloris是支持线程的操作系统

D.在单处理器和多处理器上多个线程不可以并发执行

16.下列不属于线程生命周期状态的是()

A.新建状态B.可运行状态

C.运行状态D.解锁状态

17.以下不属于Thread类的线程优先级静态常量的是()

A.MIN_PRIORITY

B.MAX__PRIORITY

C.NORM__PRIORITY

D.BEST__PRIORITY

18.()关键字可以对对象加互斥锁。

A.synchronizedB.transientC.serializeD.static

19.下列()方法和resume()方法相互搭配,使线程停止执行,然后调用resume()方法恢复线程。

A.interrupt()B.stop()C.suspend()D.yield()

20.Thread类的方法中,getName()方法的作用是()

A.返回线程组的名称B.设置线程组的名称

C.返回线程的名称D.设置线程的名称

21.线程调用了sleep()方法后,该线程将进入()状态

A.可运行状态B.运行状态C.阻塞状态D.终止状态

22.下列()类或接口定义了线程同步与交互的方法。

A.ThreadB.RunnableC.ObjectD.ThreadGroup

23.Java中线程是由线程类的()方法定义的。

A.init()B.run()C.application()D.main()

24.线程控制方法中,stop()的作用是()

A.强行终止线程

B.使比其低的优先级线程运行

C.只让给同优先级运行

D.返回当前线程的引用

25.在以下()情况下,线程就进入可运行状态。

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

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

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

D.以上都是

26.下列说法中,正确的一项是()

A.单处理机的计算机上,2个线程实际上不能并发执行

B.单处理机的计算机上,2个线程实际上能够并发执行

C.一个线程可以包含多个进程

D.一个进程可以包含多个线程

27.下列说法中错误的一项是()

A.线程就是程序

B.线程是一个程序的单个执行流

C.多线程是指一个程序的多个执行流

D.多线程用于实现并发

28.下列关于Thread类的线程控制方法的说法中错误的一项是()

A.线程可以通过调用sleep()方法使比当前线程优先级的线程运行

B.线程可以通过调用yield()方法和当前线程优先级一样的线程运行

C.线程sleep()方法调用结束后,该线程进入运行状态

D.若没有相同优先级的线程处于可运行状态,县城调用yield()方法时,当前线程将继续执行

29.下列程序的输出结果是()

packagecom.mytest.www;

classC6implementsRunnable{

publicvoidrun(){

for(inta=3;a<=10;a++){

if(isPrime(a))

System.out.print(a+"\t");

}

}

publicbooleanisPrime(intn){

booleanb=true;

for(inti=2;i

if((n%i)==0)

b=false;

}

returnb;

}

}

publicclassTest6{

publicstaticvoidmain(Stringargs[]){

Threadt=newThread(newC6());

t.start();

}

}

A、246B、357C、369D、258

30.下列哪一个操作不能使线程从等待阻塞状态进入对象锁阻塞状态?

A.等待阻塞状态下的线程被notify()唤醒

B.等待阻塞状态下的线程被interrput()中断

C.等待时间到

D.等待阻塞状态下的进程调用wait()方法

31.下列哪一个方法可以使线程从运行状态进入其他阻塞状态?

A.sleep()B.wait()C.yield()D.start()

32.下列哪一个不属于Java线程模型的组成部分?

A.虚拟的CPU

B.虚拟CPU执行的代码

C.代码所操作的数据

D.执行流

33.下列程序的输出结果是()。

publicclassTest{

publicstaticvoidmain(Stringargs[]){

newTest();

}

Test(){

Testt1=this;

Testt2=this;

synchronized(t1){

try{

t2.wait();

System.out.println("DONEWAITING");

}catch(InterruptedExceptione){

System.out.println("INTERRUPTED");

}catch(Exceptione){

System.out.println("OTHEREXCEPTION");

}finally{

System.out.println("FINALLY");

}

}

System.out.println("ALLDONE");

}

}

A.输出“ALLDONE”

B.输出“INTERRUPTED”

C.输出“DONEWAITING”

D.编译通过,但是不输出任何字符串

34.下列哪一种情况一定不会使当前的线程暂停执行?

()

A.该线程抛出一个InterruptedException

B.该线程调用sleep()方法

C.该线程创建一个新的子线程

D.该线程从输入流读取文件数据

35.下列说法中错误的一项是()

A.Java中的每一个线程都属于某个线程组

B.线程只能在其创建时设置所属的线程组

C.线程创建之后,可以从一个线程组转移到另一个线程组

D.新建的线程组默认情况下属于其父线程所属的线程组

36.下列不属于线程组成部分的一项是()

A.程序计数器B.堆栈

C.进程地址空间中的代码C.栈指针

37.下列关于Java线程模型的说法中,错误的一项是()

A.Java线程模型包括了计算机的CPU

B.代码可以与其他线程共享

C.数据可以被多个线程共享

D.线程模型在java.lang.Thread类中被定义

38.下列关于Thread类提供的线程控制方法的说法中,错误的一项是()

A.在线程a中执行线程b的join()方法,则线程a等待直到b执行完成

B.线程a通过调用interrupt()方法来中断其阻塞状态

C.若线程a调用方法isAlive()返回值为true,则说明a正在执行中

D.currentThread()方法返回当前线程的引用

39.下面的哪一个关键字通常用来对对象加锁,从而使得对对象的访问是排他的?

()

A.serializeB.transientC.synchronizedD.static

40.下列说法中错误的一项是()

A

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1