上海知名的网站公司,系统下载网站建设模板,做网站v1认证是什么意思,电子商务网站建设与维护致谢词异步线程池
顾名思义#xff0c;一个专门用来处理异步任务的线程池。可以避免线程的开销以及非阻塞的执行任务。
CountDownLatch
一个同步工具类#xff0c;用于 让一个或多个线程等待一组操作完成。
业务场景
支付订单时#xff0c;用户可以使用多张优惠劵#xff0c…
异步线程池
顾名思义一个专门用来处理异步任务的线程池。可以避免线程的开销以及非阻塞的执行任务。
CountDownLatch
一个同步工具类用于 让一个或多个线程等待一组操作完成。
业务场景
支付订单时用户可以使用多张优惠劵需要检查优惠劵的状态并通知此状态。 原本的流程是在一个线程中对优惠劵列表循环处理。并准备一个map(couponid,message)存储状态通知的消息。现在使用线程池对检查业务进行优化等于说一个线程检查一个优惠劵提升检查的效率。使用CountDownLatch的await方法先使主线程阻塞等待所有的异步优惠劵检查线程执行完毕什么时候执行完毕呢CountDownLatch基于一个计数器可以传入优惠劵的数量作为一个计数器当检查完一个不管成功或者失败就使这个计数器减1当计数器为0的时候主线程就可以执行了。 检查的逻辑就是对map数组进行填充的一个过程。是否过期能否叠加使用是否已使用都要进行记录检查完一个就countDown()一个