黑马程序员技术交流社区

标题: 多线程测试 [打印本页]

作者: shijialong1111    时间: 2016-6-18 17:38
标题: 多线程测试
以下题目为 单选题 或 多选题,请认真作答。请在您认为正确的答案前勾选 “√”

1
编写线程类,可以通过实现哪个接口来实现( ) ----- 单选
A、 Throwable
B、 Runnable
C、Comparable
D、Serializable


2
编写线程类,要继承的父类是( ) ----- 单选
A、Runnable
B、 Object
C、Thread
D、Serializable


3
下列哪一个类实现了线程组( ) ----- 单选
A、Thread
B、Runnable
C、ThreadGroup
D、Object


4
下列说法中错误的一项是( ) ----- 单选
A、一个线程是一个Thread类的实例
B、线程由Runnable实例的run()方法开始执行
C、如果已经继承了一个父类那么可以通过实现Runnable接口来创建线程
D、新建的线程调用start()方法就能立即进入运行状态


5
以下关于setDaemon()方法,说法正确的是( ) ----- 单选
A、将线程设置为守护线程,该线程不会单独执行,当其他非守护线程都执行结束后,自动退出。
B、暂停当前正在执行的线程,并执行其他线程。
C、暂停其他线程,并执行当前线程。
D、该方法在启动线程后可以调用。


6
以下关于yield()方法,说法正确的是( ) ----- 单选
A、该方法会暂停其他的线程,直到当前线程执行终止。
B、该方法会暂停当前正在执行的线程,并执行其他线程。
C、该方法会让出CPU的执行权,并且会完全按我们的预期效果运行。
D、该方法会造成线程死亡,不再继续执行。


7
如果当前的线程不是此对象锁的所有者,却调用该对象的哪个方法时抛出IllegalMonitorStateException异常----- 多选
A、notify
B、notifyAll
C、wait
D、sleep


8
以下代码是声明实现 Runnable 接口的类,以创建新的线程并启动,在横线处填入哪些代码可以实现上述目标( ) ----- 单选
public class MyRunnable implements Runnable {
public void run() {
// do something…
}
}

public class MyRunnableTest {
public static void main(String[] args) {
          ____________________________________
}
}
A、 new MyRunnable().run();
B、new MyRunnable().start();
C、 new Thread(new MyRunnable()).run();
D、 new Thread(new MyRunnable()).start();


9
下列关于死锁的阐述,错误的是( ) ----- 单选
A、死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象。
B、死锁不会影响程序的执行,还可以完成执行任务。
C、死锁产生的原因是一个资源每次只能被一个进程使用,而进程因请求资源而阻塞时,对已获得的资源保持不放。
D、可以使用阻止循环等待条件,将系统中所有的资源设置标志位、排序,规定所有的进程申请资源必须以一定的顺序(升序或降序)做操作来避免死锁。


10
下列关于Java中Runnable和Callable的区别说法正确的是( )----- 多选
A、Callable类不能开启一个线程。
B、Runnable从JDK1.0开始就有了,Callable是在JDK1.5增加的。
C、Callable的 call() 方法可以返回值和抛出异常,而Runnable的run()方法没有这些功能
D、Callable可以返回装载有计算结果的Future对象。

作者: 644313561    时间: 2016-6-23 22:02
留着做练习!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2