.将下图代码保存到该ThreadDemo.java中。查阅API文档等,为代码添加注释。功能:分别以两种方式创建线程对象classMyThreadextendsThread{publicvoidrun(){//System.out.println("线程1运行了。");}}classMyRunnableimplementsRunnable{//publicvoidrun(){System.out.println("线程2运行了。");}}publicclassThreadDemo{//publicstaticvoidmain(String[]args){Threadt1=newMyThread();//Runnabletarget=newMyRunnable();//Threadt2=newThread(target);////创建线程对象t3(本质上仍是方式2,但使用了Lambda表达式以简化代码)Threadt3=newThread(()->System.out.println("线程3运行了。"));t1.start();//t2.start();//t3.start();//}}
时间: 2024-01-16 22:03:10 浏览: 66
```
// 定义一个继承 Thread 类的线程类 MyThread
class MyThread extends Thread {
// 重写 run 方法
public void run() {
// 输出线程1运行了
// System.out.println("线程1运行了。");
}
}
// 定义一个实现 Runnable 接口的线程类 MyRunnable
class MyRunnable implements Runnable {
// 实现 run 方法
public void run() {
// 输出线程2运行了
System.out.println("线程2运行了。");
}
}
// 定义一个 ThreadDemo 类
public class ThreadDemo {
// 主方法
public static void main(String[] args) {
// 创建线程对象 t1,使用 MyThread 类
Thread t1 = new MyThread();
// 创建线程对象 t2,使用 MyRunnable 类
Runnable target = new MyRunnable();
Thread t2 = new Thread(target);
// 创建线程对象 t3,使用 Lambda 表达式
Thread t3 = new Thread(() -> System.out.println("线程3运行了。"));
// 启动线程 t1、t2、t3
t1.start();
t2.start();
t3.start();
}
}
```
该程序实现了通过继承 Thread 类和实现 Runnable 接口两种方式创建线程对象的功能,以及使用 Lambda 表达式简化代码的方法创建线程对象。其中 MyThread 类和 MyRunnable 类都重写了 run 方法,分别输出了线程1运行了和线程2运行了的信息。主方法中创建了三个线程对象 t1、t2、t3,并启动它们。其中 t1 和 t2 采用了方式一和方式二创建,而 t3 则使用了 Lambda 表达式创建。
阅读全文