一、步骤
1、创建线程任务类实现Runnable接口。
2、重写run()方法。
3、创建一个线程任务对象。
4、把线程任务对象包装成线程对象。
5、调用线程对象的start()方法启动线程。
二、代码
package com.zjl.study.多线程;
/**
* Created by zjl 2022/5/28
**/
public class 创建线程方式2 {
public static void main(String[] args) {
// 3、创建一个线程任务对象
TestRunnable target = new TestRunnable();
// 4、把线程任务对象包装成线程对象,并且给线程起名字。
Thread thread = new Thread(target, "子线程");
// 5、调用线程对象的start()方法启动线程。
thread.start();
// 打印一下主线程名称
System.out.println("当前执行线程名:" + Thread.currentThread().getName());
}
}
// 1、创建线程任务类实现Runnable接口。
class TestRunnable implements Runnable{
// 2、重写run()方法。
@Override
public void run() {
System.out.println("当前执行线程名:" + Thread.currentThread().getName());
}
}
三、运行结果
四、优缺点
1、缺点
- 代码相对复杂
- 不能获取线程执行的结果
2、优点
- 线程任务只是实现了Runnable接口,可以继续继承其他类,而且可以继续实现其他接口
- 同一个线程任务对象可以被包装成多个线程对象
- 适合多个线程去共享同一个资源