异步执行对于开发者来说并不陌生,在实际的开发过程中,很多场景多会使用到异步,相比同步执行,异步可以大大缩短请求链路耗时时间。
比如:「发送短信、邮件、异步更新等」
,这些都是典型的可以通过异步实现的场景。
异步的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(); } }
聚类分析有哪几种
聚类分析有五种主要类型:层次聚类(基于距离)划分聚类(k-均值、k-中心点、模糊c均值)密度聚类(dbscan、optics)谱聚类(拉普拉斯特征图)其他聚类算法(基于模型、神经网络) 聚类分析的类型 聚类分析是一种无监督机器学习技术,···
2024-04-29液位计有哪几种
液位计类型多样,常见的有:光电式:精度高,适用于高精度测量。磁翻柱:可见性好,耐用,适用于工业应用。超声波:适用于难以接近或有腐蚀性液体。电容式:适用于导电液体,精度高。浮球式:结构简单,成本低,适用于本地显示。差压···
2024-04-29高清线hdmi有几种型号
高清线hdmi有几种型号?这是不少网友都关注的问题,接下来由php小编为大家带来高清线hdmi的几种型号详细介绍,感兴趣的网友一起随小编来瞧瞧吧! 高清线hdmi的几种型号详细介绍 1、高清线有多种类型,主要包括HDMI、DisplayPort、DVI···
2024-04-26高清线有几种型号
高清线有几种型号?这是不少网友都关注的问题,接下来由php小编为大家带来高清线的几种型号介绍,感兴趣的网友一起随小编来瞧瞧吧! 高清线的几种型号介绍 1、高清线有多种型号,主要包括HDMI、DisplayPort、DVI、VGA等。 2、HDMI接···
2024-04-26步进电机控制方法有哪几种
步进电机控制方法主要有:全步进控制:每脉冲对应一个步距角,转动平稳但速度慢。半步进控制:每脉冲对应半个步距角,转动速度快但精度低。微步进控制:细分步距角,实现更高的精度和速度。电流控制:控制电流调节转矩和速度,实现平···
2024-04-26电离辐射有哪几种
电离辐射可分为以下类型:α粒子:由氦原子核组成,电离能力强,穿透力弱。β粒子:高速电子或正电子,电离能力强,穿透力比α粒子强。γ射线:电磁波,穿透力极强,可以穿透混凝土和铅。x射线:电磁波,穿透力比γ射线弱,用于医疗成像。···
2024-04-26视频线接头有哪几种
视频线接头有多种类型,包括:av接口(复合音视频)、s-video接口(分离视频)、vga接口(模拟信号传输)、hdmi接口(全数字化视频和声音)、以及bnc接口(专业视频设备使用)。 视频线接头有多种类型,以下是其中一些常见的类型: ···
2024-04-22关系数据库有哪几种
关系数据库根据数据模型和结构分为五大类型:1. 层次数据库:层级结构,查询速度快;2. 网状数据库:灵活连接,处理复杂关联关系;3. 关系数据库:关系模型,易用性强;4. 对象数据库:面向对象编程概念,提高代码可重用性;5. nosql···
2024-04-19