【综合文库】
Java 多线程编程练习题
[] 选择题
1.编写线程类,要继承的父类是: A:Object B:Runnable C:Serializable D: Thread E: Exception 答
2.编写线程类,可以通过实现那个接口来实现? A:RunnableB:Throwable C:Serializable D:ComparableE:Cloneable 答:
3.什么方法用于终止一个线程的运行? A:sleep B: joinC: wait D: stopE:notify 答:
4.一个线程通过什么方法将处理器让给另一个优先级别相同的线程? A:wait B:yield C:join D:sleep E:stop 答:
5.如果要一个线程等待一段时间后再恢复执行此线程,需要调用什么方法? A:wait B:yield C:joinD:sleep E:stop F:notify 答:
6.什么方法使等待队列中的第一个线程进入就绪状态? A:waitB:yieldC:joinD:sleepE:stop F:notify 答:
7.Runnable接口定义了如下哪些方法? A: start() B: stop() C: resume() D: run() E: suspend() 答:
8. 如下代码创建一个新线程并启动线程:Runnable target=new MyRunnable();Thread myThread=new Thread(target);
问:如下哪些类可以创建target对象,并能编译正确?
A: public class MyRunnable extends Runnable { public void run(){} } B: public class MyRunnable extends Object { public void run() {} }
C: public class MyRunnable implements Runnable {public void run() {}} D: public class MyRunnable extends Runnable {void run() {}} E: public class MyRunnable implements Runnable {void run() {}} 答:
9.给出代码如下:
public class MyRunnable implements Runnable {public void run(){ --------------------------------} }
问在虚线处,如下哪些代码可以创建并启动线程? A: new Runnable(MyRunnable).start(); B: new Thread(MyRunnable).run();
C: new Thread(new MyRunnable()).start(); D: new MyRunnable().start(); 答:
[] 问答题
1. 线程和进程有什么区别?
2. Java创建线程的方式有哪些?
[] 编程题
1.编写多线程应用程序,模拟多个人通过一个山洞的模拟。这个山洞每次只能通过一个人,每个人通过山洞的时间为5秒,随机生成10个人,同时准备过此山洞,显示一下每次通过山洞人的姓名。
2.编写线程同步模拟应用程序:
(1) 大气环境数据为:温度,湿度,风速。
(2) 一个大气环境传感器测量环境数据需要5秒时间。(3) 一个计算机读取传感器的环境数据需要0.01秒时间。
模拟一个计算机读取大气环境传感器的读取的随机的温度,湿度和风速的100次。
查看全文
false