iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >异步编程的几种方式,你知道几种?
  • 192
分享到

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

2023-08-15 17:08:28 192人浏览 八月长安
摘要

异步执行对于开发者来说并不陌生,在实际的开发过程中,很多场景多会使用到异步,相比同步执行,异步可以大大缩短请求链路耗时时间。比如:「发送短信、邮件、异步更新等」,这些都是典型的可以通过异步实现的场景。异步的8种实现方式 1、线程Thread

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

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

异步的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();    }}
登录后复制

--结束END--

本文标题: 异步编程的几种方式,你知道几种?

本文链接: https://www.lsjlt.com/news/370767.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 异步编程的几种方式,你知道几种?
    异步执行对于开发者来说并不陌生,在实际的开发过程中,很多场景多会使用到异步,相比同步执行,异步可以大大缩短请求链路耗时时间。比如:「发送短信、邮件、异步更新等」,这些都是典型的可以通过异步实现的场景。异步的8种实现方式 1、线程Thread...
    99+
    2023-08-15
  • Python 中快的循环方式,你知道几种?
    大家好,我是 somenzz,今天我们来研究一下 Python 中最快的循环方式。各种姿势比如说有一个简单的任务,就是从 1 累加到 1 亿,我们至少可以有 7 种方法来实现,列举如下:1、while 循环def while_loop(n=...
    99+
    2023-05-14
    Python 生成器 循环方式
  • MySQL中复制表的方式你知道几种
    mysql 想必大家比较熟悉了, 我们常见的crud  sql 想必大家也是手到拈来。 但是我在今儿上数据库课的时候,我好像连mysql中复制表的基础写法 都不会。 可能工作中不常用,但作为基础 还是想写出来分享给大家。 这里 我介绍四种常...
    99+
    2023-09-05
    mysql 数据库 sql
  • PHP 生成随机数的 5 种方式,你知道几种
    我知道五种PHP生成随机数的方式:1. 使用rand()函数:rand()函数可以生成一个指定范围内的随机整数。例如,生成1到10之...
    99+
    2023-09-21
    PHP
  • java 导出到excel的几种方式你要知道
    java导出excel常用的方式使用poi apache开源方式导入导出,很多公司自己研发导出组件对于常用的导入导出其实都使用开源组件。 介绍常用的excel导出方式: 1,poi 方式 上图一个我之前写的很老的导出,代码比较麻烦,但是也是...
    99+
    2023-09-01
    java apache 开发语言
  • JavaScript中this的绑定你知道几种?
    目录执行上下文this到底是什么呢调用位置绑定规则特例面试题执行上下文 我们知道执行上下文分为两种:全局上下文和函数上下文(我的这篇文章对于执行上下文有讲解还对执行上下文和作用域迷糊...
    99+
    2023-02-08
    JavaScript this绑定 JavaScript this
  • Java异步非阻塞编程的几种方式总结
    1 服务端执行,最简单的同步调用方式: 缺陷: 服务端响应之前,IO会阻塞在: java.net.SocketInputStream#socketRead0...
    99+
    2022-11-12
  • vue组件间传值的方法你知道几种
    目录一丶父子组件传值二丶子父组件传值三丶兄弟组件传值四丶$parent /$children与ref总结一丶父子组件传值 先在父组件中给子组件的自定义属性绑定一个 父组件的变量 &l...
    99+
    2022-11-13
  • 你知道哪几种MYSQL的连接查询
    前言 查询信息的来源如果来自多张表,则必须对这些表进行连接查询。连接是把不同表的记录连到一起的最普遍的方法,通过连接查询可将多个表作为一个表进行处理。连接查询分为内连接和外连接。 一...
    99+
    2022-11-12
  • 浅析Spring IOC 依赖查找你需要知道的几种方式
    目录1. 根据 Bean 名称查找实时查找延时查找2. 根据 Bean 类型查找单个 Bean 对象集合 Bean 对象3. 根据 Bean 类型 + 名称查找首先,我们创建一个包含...
    99+
    2022-11-12
  • java 实现开启异步线程的几种方式
    在Java中,有多种方式可以实现异步线程以避免在主线程中执行耗时操作导致界面卡顿的问题。以下是几种常用的方式: 使用Thread类:可以使用Thread类来创建一个新的线程,并在其run()方法中执行耗时操作。例如: new Thread(...
    99+
    2023-08-17
    java
  • 说说Java异步调用的几种方式
    目录一、通过创建新线程二、通过线程池三、通过@Async注解四、通过CompletableFuture日常开发中,会经常遇到说,前台调服务,然后触发一个比较耗时的异步服务,且不用等异...
    99+
    2022-11-12
  • Java 异步实现的几种方式小结
    Java 异步实现的几种方式 1. jdk1.8之前的Future jdk并发包里的Future代表了未来的某个结果,当我们向线程池中提交任务的时候会返回该对象,可以通过future...
    99+
    2022-11-12
  • Spring注解@Qualifier的详细用法你知道几种
    环境:springboot2.3.10 一般使用在项目中使用@Qualifier来限定注入的Bean。 由于项目中我习惯用@Resource注解,所以这里先对@Autowired和@...
    99+
    2022-11-12
  • log4j2异步日志输出方式有几种
    小编给大家分享一下log4j2异步日志输出方式有几种,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!log4j2的异步日志输出方式使用log4j2的同步日志进行日志...
    99+
    2023-06-22
  • 你知道将Bean交给Spring容器管理有几种方式(推荐)
    目录Spring核心包扫描+组件注解配置项一配置项二配置项三扩展@Import注解导入@Import直接导入类@Import + ImportSelector@Import + Im...
    99+
    2022-11-13
    Bean交给Spring容器管理方式 Spring容器管理bean
  • C/C++的各种字符串函数你知道几个
    目录一、strrchr参数 返回值示例输出二、atoi参数 返回值示例输出三、strcat参数 返回值示例输出四、strstr参数返回值示例输出五、st...
    99+
    2022-11-13
  • Windows上Java大数据框架的选择,你知道几种?
    随着大数据技术的快速发展,越来越多的企业开始尝试将大数据技术应用到自己的业务中。在Java领域中,有很多优秀的大数据框架,比如Hadoop、Spark、Flink等。本文将为大家介绍几种在Windows上使用Java大数据框架的选择,帮助...
    99+
    2023-10-09
    大数据 windows 框架
  • Java 终止线程的几种方式
    一、正常运行结束 所谓正常运行结束,就是程序正常运行结束,线程自动结束。 public class ThreadTest extends Thread { public void run() ...
    99+
    2023-08-31
    java jvm 开发语言
  • Mysql去重的几种方式分步讲解
    目录前言准备创建表测试数据目标探索distinct 去重group by去重实现方案方案一方案二方案三前言 我们做数据分析的时候经常会遇到去重问题,下面总结 sql 去重的几种方式,后续如果还有再补充,大数据分析层面包括...
    99+
    2022-12-06
    Mysql去重 Mysql去重语句 Mysql去重查询
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作