此环节可以巩固读者在实验环节中所学的内容,同时积累实验环节外独立编程的经验。 1. 阅读下面程序,按照注释填加语句,并分析理解程序的执行结果和过程。 ------------------------------------------------------------------------------- class WriteWordThread extends Thread { WriteWordThread(String s){ setName(s); } public void run(){ for(int i=1;i<=8;i++) System.out.println("我是一个线程,我的名字是"+getName()); } } public class Example{ public static void main(String args[ ]){ WriteWordThread zhang,wang; //创建zhang线程对象,名字为“张无忌” (1) //创建wang线程对象,名字为“王宝宝” (2) //zhang线程开始执行; (3) for(int i=1;i<=8;i++){ System.out.println("我是主线程中的语句"); } //wang线程开始执行; (4) } }
时间: 2023-10-22 15:04:59 浏览: 53
答案如下:
```
class WriteWordThread extends Thread {
WriteWordThread(String s){
setName(s);
}
public void run(){
for(int i=1;i<=8;i++)
System.out.println("我是一个线程,我的名字是"+getName());
}
}
public class Example{
public static void main(String args[]){
WriteWordThread zhang,wang;
//创建zhang线程对象,名字为“张无忌”
zhang = new WriteWordThread("张无忌");
//创建wang线程对象,名字为“王宝宝”
wang = new WriteWordThread("王宝宝");
//zhang线程开始执行;
zhang.start();
for(int i=1;i<=8;i++){
System.out.println("我是主线程中的语句");
}
//wang线程开始执行;
wang.start();
}
}
```
执行结果和过程:
程序定义了一个 `WriteWordThread` 类,并继承了 `Thread` 类,实现了多线程。在 `main` 方法中首先创建了两个线程对象 `zhang` 和 `wang`,并分别设置了它们的名字。然后,通过 `zhang.start()` 和 `wang.start()` 方法启动了两个线程。在主线程中,通过 `for` 循环输出了 8 次 "我是主线程中的语句"。而两个子线程则分别输出了 8 次 "我是一个线程,我的名字是张无忌" 和 "我是一个线程,我的名字是王宝宝"。因为是多线程执行,所以输出顺序是不确定的。
阅读全文