当前位置: 首页 > news >正文

异步线程池与CountDownLatch

异步线程池

顾名思义,一个专门用来处理异步任务的线程池。可以避免线程的开销以及非阻塞的执行任务。

CountDownLatch

一个同步工具类,用于 让一个或多个线程等待一组操作完成

业务场景

支付订单时,用户可以使用多张优惠劵,需要检查优惠劵的状态并通知此状态。

 原本的流程是在一个线程中对优惠劵列表循环处理。并准备一个map(couponid,message)存储状态通知的消息。现在使用线程池对检查业务进行优化,等于说一个线程检查一个优惠劵,提升检查的效率。使用CountDownLatch的await方法先使主线程阻塞,等待所有的异步优惠劵检查线程执行完毕,什么时候执行完毕呢?CountDownLatch基于一个计数器,可以传入优惠劵的数量作为一个计数器,当检查完一个,不管成功或者失败,就使这个计数器减1,当计数器为0的时候,主线程就可以执行了。

 检查的逻辑就是对map数组进行填充的一个过程。是否过期,能否叠加使用,是否已使用,都要进行记录,检查完一个就countDown()一个

http://www.lryc.cn/news/506214.html

相关文章:

  • 在图像上显示掩码、框和点的通用函数
  • 基于Matlab的变压器仿真模型建模方法(11):三相三绕组换流变压器的建模仿真
  • 代码随想录算法训练营day46|动态规划part12
  • 【C语言】头文件
  • 蓝桥杯——竞赛省赛国赛题分享
  • 企业内训|阅读行业产品运营实战训练营-某运营商数字娱乐公司
  • 低空无人机产教融合技术详解
  • springboot中Controller内文件上传到本地以及阿里云
  • Chrome 132 版本开发者工具(DevTools)更新内容
  • 使用Python从阿里云物联网平台获取STM32温度数据
  • Spring Boot 声明式事务
  • websocket 局域网 webrtc 一对一 多对多 视频通话 的示例
  • uniapp-微信小程序调用摄像头
  • 鸿蒙学习笔记:用户登录界面
  • 无人机航测系统技术特点!
  • 《算法ZUC》题目
  • 配置flutter 解决andriod studio报错 no device selected
  • docker搭建Redis集群及哨兵(windows10环境,OSS Cluster)
  • 信息化基础知识——数字政府(山东省大数据职称考试)
  • 信息安全实训室网络攻防靶场实战核心平台解决方案
  • Nginx主要知识点总结
  • PySide6程序框架设计
  • 「九」HarmonyOS 5 端云一体化实战项目——「M.U.」应用云侧开发云数据库
  • 记录:virt-manager配置Ubuntu arm虚拟机
  • clickhouse-介绍、安装、数据类型、sql
  • 【shell】常用100个shell命令使用讲解
  • Git-分支(branch)常用命令
  • 谈谈es6 Map 函数
  • 微信小程序:实现节点进度条的效果;正在完成的节点有动态循环效果;横向,纵向排列
  • 【Unity3D】无限循环列表(扩展版)