首页 > 其他分享 >CompletableFuture 批量办卡

CompletableFuture 批量办卡

时间:2023-08-14 17:22:23浏览次数:48  
标签:批量 allOf futures future CompletableFuture new 办卡

需求背景:

每次传入需要办卡的订单的集合,根据每个办卡订单进行办卡操作。

 

技术要点:

CompletableFuture:

@Autowired
private ThreadPoolTaskExecutor executor;
方法:
List<CompletableFuture> futures = Collections.synchronizedList(new ArrayList<CompletableFuture>());   //创建线程集合 for (EtcCardApplyOrderRequestVo applyVo : etcCardApplyOrderRequestVoList) {   CompletableFuture<Result> future = CompletableFuture.supplyAsync(() -> applyOrder(applyOrderRequestVo),executor);  //每个线程内都有个返回bigdecimal
  futures.add(future); }   //创建集合任务
CompletableFuture<Void> allOf = CompletableFuture.allOf(futures.toArray(new CompletableFuture[0]));  
allOf.join();   //等待执行结束   //支付金额
amount = BigDecimal.ZERO;
for (CompletableFuture future : futures) {
if (future.isDone()){
try {
BigDecimal decimal = (BigDecimal) future.get();
amount = amount.add(decimal);
} catch (InterruptedException e) {
throw new RuntimeException(e);
} catch (ExecutionException e) {
throw new RuntimeException(e);
}
}   executor.shutdown(); }  

  

标签:批量,allOf,futures,future,CompletableFuture,new,办卡
From: https://www.cnblogs.com/jiangzishun/p/17629239.html

相关文章

  • Python Chagpt Ai智能批量问答的研究实现
    首先介绍一下我的软件界面:功能介绍:1:实现了单个一问一答功能    2:可以批量将本地执行目录下的Excel中的问题向chatgpt提问题,系统得到答案后批量将问题对应的答案写入到Excel中 部分代码截图:  有感兴趣的联系V:xunmengqishi ......
  • ElasticSearch批量重建索引
    ElasticSearch批量重建索引ver7.16.2ES的设计目标是针对检索的,对修改的支持不够好,特别是对数据结构的修改,和关系数据库不一样,修改数据结构后,索引的历史数据不会改变,如果需要历史数据也应用修改后的结构和设置,需要重建索引(Reindex).重建索引的一般流程为:基......
  • java 用CompletableFuture来实现多线程查询和结果合并
    多线程查询结果合并使用CompletableFuture来实现多线程查询和结果合并。CompletableFuture提供了一种方便的方式来协调异步任务并处理其结果。下面是一个使用CompletableFuture的示例:importjava.util.ArrayList;importjava.util.List;importjava.util.concurrent.CompletableF......
  • CompletableFuture 异步编排
      1.业务场景  查询商品详情页的逻辑比较复杂,有些数据还需要远程调用,必然需要花费更多的时间。  假如商品详情页的每个查询,需要如下标注的时间才能完成,那么,用户需要5.5s后才能看到商品详情页的内容。很显然是不能接受的,如果有多个线程同时完成这6步操作,也许只需要......
  • CentOS 批量部署用户免密服务器
    一、前言在Linux系统中,SSH(SecureShell)是一种常用的远程登录和文件传输协议。传统的SSH登录需要输入用户密码,既不方便也不安全。为了解决这个问题,我们可以部署SSH的公钥认证,即免密登录。本文将详细介绍如何在CentOS上批量部署用户免密服务器。二、准备环境1台CentOS7.x的服务器(本......
  • Python微信公众号文章批量转pdf
    文章来源:https://www.cnblogs.com/MrFlySand/p/17216072.html操作步骤下载离线html网页文件1、登录微信公众号后台,打开“文章发表记录”。按Ctrl+S保存离线html网页文件。3、记住html文件保存路径,设置html文件名称。4、点击第2页的文章发表记录,重复步骤2、步骤3的操......
  • MyBatis-Plus批量插入方法saveBatch
    1.saveBatch能否提高插入的效率?先说结论,saveBatch()方法也是一条一条的插入,也就是说它会产生多条insert语句,而不是一条insert语句,所以它不是真正的批量插入,更不能提高插入效率。看看代码就全明白了从代码看,循环一条一条的插入,每次都是一个sqlSession.insert()因此,saveBatch......
  • 微软ADRMS权限服务批量加密解密工具,需要可加V:Aixi9837
    ADRMS是一种信息保护技术,可帮助保护数字信息免遭未经授权的使用。通过启用权限的应用程序,内容所有者将能够定义可以对内容进行打开、修改、打印、转发或执行其他操作的人员。该工具可以实现Word、Excel、PowerPoint不同版本文件的加解密处理。支持在原权限基础上增加权限,支持自......
  • 经纬恒润第三代重载自动驾驶运输车批量交付唐山港客户
        2023年7月下旬,唐山港京唐港区集装箱码头25#泊位智能水平运输项目的关键组成部分——22辆重载自动驾驶运输车(HAV)陆续分批交付,这标志着该项目迈入了全面系统联调联测阶段。    此次交付的经纬恒润自研第三代HAV车型,在底盘动力性、经济性、整车电子电气架构、通信......
  • 批量将n行数据用双引号括起来并用逗号连接成一行数据
    1、我们要达到的效果:批量将n行数据转换成格式"xxx","xxx","xxx"如批量将下面3行转换成格式"40000007","40000008","40000362",行数少的时候可以一个个修改,但是行数一多就无法快速更改。下面将介绍一个方法只需2步(替换、首末补充)完成批量转换n行 2、以下将用到文本工具Notepad+......