public void fun() {
List[I] list = new ArrayList();
for(int i = 1; i partition = Lists.partition(list, batchSize);
for (List[I] itemList : partition) {
executorService.execute(() -> subFun(itemList));
}
}
private void subFun(List[I] list) {
String threadName = Thread.currentThread().getName();
log.info("子线程{}开始执行。。。", threadName);
for (Integer i : list) {
.....
}
log.info("子线程{}执行总数:{}", threadName, list.size());
}
总结就是将数据分为 3 块,并行执行,最终的日志结果是,子线程有 3 个开始执行了,却只有 2 个执行完,日志里没有异常信息,方法里也没有 return 的逻辑,有大佬给点排查思路吗