原因:
最近写项目多时候遇到一个这样的问题,Excel批量导入表格,数据量较大,处理时间较长。然后小编想到了可以用多线程处理。
例:
//导入失败集合
List<BatchPayDetailExcelDto> batchPayDetailExcelVoFailList = new CopyOnWriteArrayList<>();
//导入成功集合
List<BatchPayDetailExcelDto> batchPayDetailExcelVoSuccessList = new CopyOnWriteArrayList<>();
int totalSize = batchPayDetailList.size(); //总数量
final int[] currentNum = {0}; //当前处理数量
/******************************************多线程处理开始*****************************************/
// 一百条为基准为一个线程处理
List<List<BatchPayDetailExcelDto>> groupList = CommonUtils.partition(batchPayDetailList, 100);
CountDownLatch countDownLatch = new CountDownLatch(groupList.size());
ExecutorS