Java多线程实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验4:Java多线程
实验时间:实验地点:
一、实验目的及要求
(1)了解线程的概念。
(2)学习简单的多线程编程。
二、实验设备环境及要求
三、实验任务
(1)阅读给定的Java Application程序,按要求回答问题并写出运行结果。
(2)按要求编写一个Java Application程序,并编译、运行这个程序。
四、实验内容与步骤
1.输入下面的Java Application程序,运行该程序,并简要分析程序的运行结果。
1:class SimpleThread extends Thread {
2:public SimpleThread(String str) {
3:super(str); //调用其父类的构造方法
4:}
5:public void run() { //重写run方法
6:for (int i = 0; i < 10; i++) {
7:System.out.println(i + " " + getName());
8://打印次数和线程的名字
9:try {
10:sleep((int)(Math.random() * 1000));
11://线程睡眠,把控制权交出去
12:}
13:catch (InterruptedException e) { }
14:}
15:System.out.println("DONE! " + getName());
16://线程执行结束
17:}
18:}
1:public class TwoThreadsTest {
2:public static void main (String args[]) {
3:new SimpleThread("First").start();
4://第一个线程的名字为First
5:new SimpleThread("Second").start();
6://第二个线程的名字为Second
7:}
8:}
2.编写程序,将上面多线程程序用Runnable接口来实现。
class SimpleThread implements Runnable{
public void run(){
for (int i = 0; i < 10; i++){
System.out.println(i + " " + Thread.currentThread().getName());
try {
Thread.sleep((int)(Math.random() * 1000));
//线程睡眠,把控制权交出去
}
catch (InterruptedException e) { }
}
System.out.println("DONE! " + Thread.currentThread().getName());
//线程执行结束
}
}
public class Test {
public static void main (String args[]) {
/*Thread t1=new Thread("First");
//第一个线程的名字为First
Thread t2=new Thread("Second");
//第二个线程的名字为Second
t1.start();
t2.start();*/
new Thread(new SimpleThread(),"First").start();
new Thread(new SimpleThread(),"Second").start()
}
}