全国2011年1月Java语言程序设计自考试题 联系客服

发布时间 : 星期三 文章全国2011年1月Java语言程序设计自考试题更新完毕开始阅读543e5ec5d5bbfd0a795673fa

河北工业大学计算机学院网络编程实验报告

实验四:多线程程序设计

实验目的:

理解线程的概念、线程的生命周期,掌握多线程的编程:继承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 -