需求:根据查询出来的一批合同编号,查询每个合同对应流程节点的最后审批人,最后导出合同编号及其对应的最后审批人。
本次代码优化总共分为以下四步骤:
- 遍历查询数据库
- 使用CompletableFuture将串行改为并行
- 简化代码,并引出线程安全问题
- CompletableFuture + countDownLatch + Vector

最终版代码如下:
public List<ContractMan> selectContractMan() throws InterruptedException{
CountDownLatch countDownLatch = new CountDownLatch(5);
List<String> contractNumers= zhbExcelMapper.selectContractNumer();
Vector<ContractMan> man=new Vector<>();
List<List<String>> lists = averageAssign(contractNumers, 5);
for(int i=0

最低0.47元/天 解锁文章
171万+

被折叠的 条评论
为什么被折叠?



