阿八博客
  • 100000+

    文章

  • 23

    评论

  • 20

    友链

  • 最近新加了很多技术文章,大家多来逛逛吧~~~~
  • 喜欢这个网站的朋友可以加一下QQ群,我们一起交流技术。

新手也能看懂的 SpringBoot 异步编程指南

欢迎来到阿八个人博客网站。本 阿八个人博客 网站提供最新的站长新闻,各种互联网资讯。 喜欢本站的朋友可以收藏本站,或者加QQ:我们大家一起来交流技术! URL链接:https://www.abboke.com/jsh/2019/1010/116421.html
本文已经收录自 springboot-guide : https://github.com/Snailclimb/springboot-guide (Spring Boot 核心知识点整理
基于 Spring Boot 2.19+
)

新手也能看懂的 SpringBoot 异步编程指南

通过本文你可以了解到下面这些知识点:

Future 模式介绍以及核心思想核心线程数、最大线程数的区别,队列容量代表什么;ThreadPoolTaskExecutor 饱和策略;SpringBoot 异步编程实战,搞懂代码的执行逻辑

Future 模式

异步编程在处理耗时操作以及多任务处理的场景下非常有用,我们可以更好的让我们的系统利用好机器的 CPU 和 内存,提高它们的利用率
多线程设计模式有很多种,Future模式是多线程开发中非常常见的一种设计模式,本文也是基于这种模式来说明 SpringBoot 对于异步编程的知识

实战之前我先简单介绍一下 Future 模式的核心思想 吧!

Future 模式的核心思想是 异步调用
当我们执行一个方法时,假如这个方法中有多个耗时的任务需要同时去做,而且又不着急等待这个结果时可以让客户端立即返回然后,后台慢慢去计算任务
当然你也可以选择等这些任务都执行完了,再返回给客户端
这个在 Java 中都有很好的支持,我在后面的示例程序中会详细对比这两种方式的区别

SpringBoot 异步编程实战

如果我们需要在 SpringBoot 实现异步编程的话,通过 Spring 提供的两个注解会让这件事情变的非常简单

@EnableAsync:通过在配置类或者Main类上加@EnableAsync开启对异步方法的支持
@Async 可以作用在类上或者方法上,作用在类上代表这个类的所有方法都是异步方法

1. 自定义 TaskExecutor

很多人对于 TaskExecutor 不是太了解,所以我们花一点篇幅先介绍一下这个东西
从名字就能看出它是任务的执行者,它领导执行着线程来处理任务,就像司令官一样,而我们的线程就好比一只只军队一样,这些军队可以异步对敌人进行打击

相关文章

暂住......别动,不想说点什么吗?
  • 全部评论(0
    还没有评论,快来抢沙发吧!