异步编程的几种方式,你知道几种?

2023-08-15 深圳推广 技术文档

异步执行对于开发者来说并不陌生,在实际的开发过程中,很多场景多会使用到异步,相比同步执行,异步可以大大缩短请求链路耗时时间。

比如:「发送短信、邮件、异步更新等」,这些都是典型的可以通过异步实现的场景。

异步的8种实现方式

1、线程Thread

2、Future

3、异步框架CompletableFuture

4、Spring注解@Async

5、Spring ApplicationEvent事件

6、消息队列

7、第三方异步框架,比如Hutool的ThreadUtil

8、Guava异步

什么是异步?

首先我们先看一个常见的用户下单的场景:

业务场景

什么是异步?

在同步操作中,我们执行到 发送短信 的时候,我们必须等待这个方法彻底执行完才能执行 赠送积分 这个操作,如果 赠送积分 这个动作执行时间较长,发送短信需要等待,这就是典型的同步场景。

实际上,发送短信和赠送积分没有任何的依赖关系,通过异步,我们可以实现赠送积分和发送短信这两个操作能够同时进行,比如:

异步

这就是所谓的异步,是不是非常简单,下面就说说异步的几种实现方式吧。

异步具体实现

1、线程异步

public class AsyncThread extends Thread {

    @Override
    public void run() {
        System.out.println("Current thread name:" + Thread.currentThread().getName() + " Send email success!");
    }

    public static void main(String[] args) {
        AsyncThread asyncThread = new AsyncThread();
        asyncThread.start();
    }
}
登录后复制

相关推荐://
  • 聚类分析有哪几种
    hover

    聚类分析有哪几种

    聚类分析有五种主要类型:层次聚类(基于距离)划分聚类(k-均值、k-中心点、模糊c均值)密度聚类(dbscan、optics)谱聚类(拉普拉斯特征图)其他聚类算法(基于模型、神经网络) 聚类分析的类型 聚类分析是一种无监督机器学习技术,···

    2024-04-29
  • 液位计有哪几种
    hover

    液位计有哪几种

    液位计类型多样,常见的有:光电式:精度高,适用于高精度测量。磁翻柱:可见性好,耐用,适用于工业应用。超声波:适用于难以接近或有腐蚀性液体。电容式:适用于导电液体,精度高。浮球式:结构简单,成本低,适用于本地显示。差压···

    2024-04-29
  • 高清线hdmi有几种型号
    hover

    高清线hdmi有几种型号

    高清线hdmi有几种型号?这是不少网友都关注的问题,接下来由php小编为大家带来高清线hdmi的几种型号详细介绍,感兴趣的网友一起随小编来瞧瞧吧! 高清线hdmi的几种型号详细介绍 1、高清线有多种类型,主要包括HDMI、DisplayPort、DVI···

    2024-04-26
  • 高清线有几种型号
    hover

    高清线有几种型号

    高清线有几种型号?这是不少网友都关注的问题,接下来由php小编为大家带来高清线的几种型号介绍,感兴趣的网友一起随小编来瞧瞧吧! 高清线的几种型号介绍 1、高清线有多种型号,主要包括HDMI、DisplayPort、DVI、VGA等。 2、HDMI接···

    2024-04-26
  • 步进电机控制方法有哪几种
    hover

    步进电机控制方法有哪几种

    步进电机控制方法主要有:全步进控制:每脉冲对应一个步距角,转动平稳但速度慢。半步进控制:每脉冲对应半个步距角,转动速度快但精度低。微步进控制:细分步距角,实现更高的精度和速度。电流控制:控制电流调节转矩和速度,实现平···

    2024-04-26
  • 电离辐射有哪几种
    hover

    电离辐射有哪几种

    电离辐射可分为以下类型:α粒子:由氦原子核组成,电离能力强,穿透力弱。β粒子:高速电子或正电子,电离能力强,穿透力比α粒子强。γ射线:电磁波,穿透力极强,可以穿透混凝土和铅。x射线:电磁波,穿透力比γ射线弱,用于医疗成像。···

    2024-04-26
  • 视频线接头有哪几种
    hover

    视频线接头有哪几种

    视频线接头有多种类型,包括:av接口(复合音视频)、s-video接口(分离视频)、vga接口(模拟信号传输)、hdmi接口(全数字化视频和声音)、以及bnc接口(专业视频设备使用)。 视频线接头有多种类型,以下是其中一些常见的类型: ···

    2024-04-22
  • 关系数据库有哪几种
    hover

    关系数据库有哪几种

    关系数据库根据数据模型和结构分为五大类型:1. 层次数据库:层级结构,查询速度快;2. 网状数据库:灵活连接,处理复杂关联关系;3. 关系数据库:关系模型,易用性强;4. 对象数据库:面向对象编程概念,提高代码可重用性;5. nosql···

    2024-04-19