当前位置:首页 > 全国2011年1月Java语言程序设计自考试题
河北工业大学计算机学院网络编程实验报告
实验四:多线程程序设计
实验目的:
理解线程的概念、线程的生命周期,掌握多线程的编程:继承Thread类与使用Runnable接口。
实验要求:
1、掌握两种创建线程的方法:一种是创建用户自己的线程子类,另一种是在用户自己的类中实现Runnable接口。
2、掌握线程优先极。 3、掌握线程的同步方法。
实验内容:
??用创建Thread类的子类的方法实现多线程
??用实现Runnable接口的方法实现多线程
??线程优先级的作用:用继承Thread类和执行Runnable接口的方法创建两个线程,并测试这两个线程的同时运行情况。
a. 将两个线程设为同优先级,比较运行情况。 代码:
class outputClass implements Runnable {
String name;
outputClass(String s) {
name=s; }
public void run() {
for(int i=0;i<10;i++)
System.out.println(name); }
- 20 -
河北工业大学计算机学院网络编程实验报告
}
class runThreads {
public static void main(String args[]) {
outputClass out1=new outputClass(\ outputClass out2=new outputClass(\ Thread t1=new Thread(out1); Thread t2=new Thread(out2); t1.setPriority(1); t2.setPriority(1); t1.start(); t2.start(); } }
结果:
b. 将两个线程设为同优先级, 比较线程调用sleep()/yeild()方法后出现什么情况。 代码:
class outputClass implements Runnable {
String name;
outputClass(String s) {
name=s; }
public void run() {
for(int i=0;i<10;i++) {
System.out.println(name);
- 21 -
河北工业大学计算机学院网络编程实验报告
try{
Thread.sleep(400); }
catch(InterruptedException e){} } } }
class runThreads {
public static void main(String args[]) {
outputClass out1=new outputClass(\ outputClass out2=new outputClass(\ Thread t1=new Thread(out1); Thread t2=new Thread(out2); t1.setPriority(1); t2.setPriority(10); t1.start(); t2.start(); } }
结果:
c.将两个线程设为不同优先级,比较以上两种情况。 代码:
……
t1.setPriority(1);
t2.setPriority(2); …… 结果:
- 22 -
河北工业大学计算机学院网络编程实验报告
代码:
……
t1.setPriority(1); t2.setPriority(10); ……
结果:
请根据题目要求,编写程序并写出运行结果
1、 编写一个应用程序,创建三个线程分别显示各自的时间。 代码:
import java.util.*; import java.text.*;
class ThreeTimeThread extends Thread {
- 23 -
共分享92篇相关文档