创建多线程的方法

本文详细介绍了Java中创建多线程的多种方法,包括继承Thread类、实现Runnable接口、使用Callable接口配合FutureTask、线程池以及Spring异步方法。强调了线程池在实际开发中的重要性,同时提及了CompletableFuture的异步处理和回调功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

无论有多少种形式,创建多线程的真正的方法,

其实只有两种:

         > 继承 Thread 类

        > 实现 Runnable 接口

其它形式都是这两种方式的变体。

1、继承 Thread 类
1.1实现方式

第一步:继承 Thread 类
第二步:重写 run() 方法
第三步:创建 Thread 子类对象
第四步:调用 start() 方法启动线程\


1.2.start() 方法和 run() 方法区别

调用 run() 方法仅仅只是调用了一个子类中重写的父类方法,并没有真正开启一个新的线程,还是在当前线程运行,也就是 main 线程。

1.3.建议
因为 Java 是单继承的,一个类继承了 Thread 类就不能继承其它类,所以通常不采用这个办法创建多线程。

2、实现 Runnable 接口

①实现 Runnable 接口形式

public class CreateThread02Impl {
 
    public static void main(String[] args) {
 
        // 第四步:创建实现了 Runnable 接口的类的对象
        MyRunnableThread runnable = new MyRunnableThread();
 
        // 第五步:创建 Thread 类对象
        // 参数1:runnable 对象
        // 参数2:线程名称
        Thread thread = new Thread(runnable, "thread 002");
 
        // 第六步:调用 Thread 对象的 start() 方法启动线程
        thread.start();
    }
 
}
 
// 第一步:实现 Runnable 接口
class MyRunnableThread implements Runnable {
 
    // 第二步:实现 run() 方法
    @Override
    public void run() {
 
        // 第三步:编写线程中的逻辑代码
        System.out.println(Thread.currentThread().getName() + " is working");
    }
}

匿名内部类形式

// 第一步:以匿名内部类的方式创建 Runnable 接口类型的对象
Runnable runnable = new Runnable() {
    @Override
    public void run() {
        // 第二步:编写线程中的逻辑代码
        System.out.println(Thread.currentThread().getName() + " is working");
    }
};
 
// 第三步:创建 Thread 类对象
// 参数1:runnable 对象
// 参数2:线程名称
Thread thread = new Thread(runnable, "thread 003");
 
// 第四步:调用 Thread 对象的 start() 方法启动线程
thread.start();

③Lambda 表达式形式

// 编写 Lambda 表达式的口诀:
// 复制小括号
// 写死右箭头
// 落地大括号
 
// 第一步:以匿名内部类的方式创建 Runnable 接口类型的对象
Runnable runnable = () -> {
    // 第二步:编写线程中的逻辑代码
    System.out.println(Thread.currentThread().getName() + " is working");
};
 
// 第三步:创建 Thread 类对象
// 参数1:runnable 对象
// 参数2:线程名称
Thread thread = new Thread(runnable, "thread 004");
 
// 第四步:调用 Thread 对象的 start() 方法启动线程
thread.start();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

z.jiaminf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值