当前位置:首页 > 多线程练习题目
多 线 程
一、单项
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.transient B.synchronized C.serialize D.static
4.下列哪个方法可用于创建一个可运行的类?()
A.public class X implements Runable { public void run() {……} } B. public class X implements Thread { public void run() {……} } C. public class X implements Thread { public int run() {……} }
D.public class X implements Runable { protected void run() {……} }
5.下面哪个选项不会直接引起线程停止执行?( ) A.从一个同步语句块中退出来 B.调用一个对象的wait方法
C.调用一个输入流对象的read方法
D.调用一个线程对象的setPriority方法
6.使当前线程进入阻塞状态,直到被唤醒的方法是( )
A.resume()方法 B.wait()方法 C.suspend()方法 D.notify()方法
7.运行下列程序,会产生的结果是( )
public class X extends Thread implements Runnable {
public void run(){
System.out.println(“this is run()”); }
public static void main(String[] args) {
Thread t=new Thread(new X()); 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.Public Thread();
B.Public Thread(Runnable target);
C.Public Thread(ThreadGroup group,Runnable target); 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.synchronized B.transient C.serialize D.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.Thread B.Runnable C.Object D.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.下列程序的输出结果是( ) package com.mytest.www; class C6 implements Runnable{ public void run() { for(int a=3;a<=10;a++){ if(isPrime(a)) System.out.print(a+\); } } public boolean isPrime(int n){ boolean b=true; for(int i=2;i 30.下列哪一个操作不能使线程从等待阻塞状态进入对象锁阻塞状态? A.等待阻塞状态下的线程被notify()唤醒 B.等待阻塞状态下的线程被interrput()中断 C.等待时间到 D.等待阻塞状态下的进程调用wait()方法 31.下列哪一个方法可以使线程从运行状态进入其他阻塞状态? A. sleep() B. wait() C. yield() D. start()
共分享92篇相关文档