美文网首页
spring boot中多线程使用实例

spring boot中多线程使用实例

作者: 灿烂的GL | 来源:发表于2020-04-02 16:25 被阅读0次

    作用:硬件性能固定的情况下,提高程序运行效率,避免程序阻塞

    逻辑是,在未用多线程:调用A——等待响应——调用B——等待响应

    多线程:调用A——调用B——等待响应

    方法一、利用ThreadPoolTaskExecutor使用多线程

    利用spring boot提供的ThreadPoolTaskExecutor

    先定义线程池基本参数

    image.png

    调用定义参数

    image.png

    定义线程池

    @Bean("taskExecutor")也可以这样注入,在异步调用的时候直接加上注解@Async("taskExecutor")即可

    image.png

    调用线程池


    image.png

    方法二、利用注解使用多线程

    配置文件中定义基本参数


    image.png

    启动项上加上@EnableAsync


    image.png

    在异步任务上加入@Async即可,表示它将在一个单独的线程上运行

    方法三、CompletableFuture异步任务

    CompletableFuture异步任务适用场景

    1.很多个异步线程执行时间可能不一致,主线程业务不能一直等着,这时候我可能会想要只等最快的线程执行完或者最重要的那个任务执行完,亦或者我只等1秒钟,至于没返回结果的线程我就用默认值代替.

    2.两个异步任务之间执行独立,但是第二个依赖第一个的执行结果.

    常用方法:


    image.png

    调用实例:

    image.png

    参考链接:

    【0】线程池原理:https://blog.csdn.net/weixin_28760063/article/details/81266152

    【1】多线程使用:https://blog.csdn.net/u013467442/article/details/89366155

    【2】CompletableFuture:https://www.cnblogs.com/fingerboy/p/9948736.html

    相关文章

      网友评论

          本文标题:spring boot中多线程使用实例

          本文链接:https://www.haomeiwen.com/subject/bswxphtx.html