02小节:并发查询用户可用/不可用优惠券
作者:程序员马丁
note
热门项目实战社群,收获国内众多知名公司面试青睐,近千名同学面试成功!助力你在校招或社招上拿个offer。
并发查询用户可用/不可用优惠券&计算折扣金额,元数据信息:
- 什么是牛券oneCoupon:https://t.zsxq.com/pAWgS
- 代码仓库:https://gitcode.net/nageoffer/onecoupon —— 申请项目权限参考上述牛券项目链接
- 章节难度:★★★☆☆ - 较难
- 视频地址:文档先行视频次之
©版权所有 - 拿个offer-开源&项目实战星球专属学习项目,依据《中华人民共和国著作权法实施条例》和《知识星球产权保护》,严禁未经本项目原作者明确书面授权擅自分享至 GitHub、Gitee 等任何开放平台。违者将面临法律追究。
内容摘要:在上一章节,实现在订单结算时根据优惠券的不同类型(立减券、满减券、折扣券)进行分类和优惠金额计算。在本章节中,我们通过多线程并行优化技术,将原先串行处理的优惠券计算逻辑改造为基于 CompletableFuture 的多线程并行处理方案。这种方式能够在处理大量优惠券时有效降低计算延时,提高系统响应速度。尤其是在每个优惠券的计算逻辑相对复杂时,多线程并行能够显著提升处理效率。
课程目录如下所示:
- 业务背景
- Git 分支
- 多线程计算优惠金额
- 功能测试
- 文末总结
业务背景
在日常开发中,大家通常想到的性能优化方式就是引入多线程进行并行处理。在之前的计算逻辑中,我们是以单线程的串行方式逐个处理优惠券的计算。那是否可以尝试将每个优惠券的计算逻辑从串行改为多线程并行处理呢?
理论上,如果计算一个优惠券的优惠金额需要 1 毫秒,那么处理 10 个优惠券时串行执行就需要 10 毫秒,但如果采用并行执行方式,10 个任务同时计算就只需要 1 毫秒。带着这个优化思路,我们继续深入分析和改进。