场景:
在开发中,如果一个集合中的数据量特别大,那么对这个集合进行循环处理业务可能就会比较耗时,为了提升效率,可以考虑把大集合拆分成多个小集合,然后用多线程对拆分后的多个小集合进行处理
拆分:
1、拆分案例代码
//数据准备
List<String> objects = ListUtil.toList("1", "2", "3", "4", "5", "6", "7");
//线程数,按线程数拆分,默认3个线程
int threadCount = 3;
//按线程数平均分配后,每个线程处理的数据量
int perThreadData = objects.size() / threadCount;
//按线程数平均分配后,多余的数据量
int remainderCount = objects.size() % threadCount;
//有多余的数据,再开个线程处理
boolean havingRemainder = remainderCount > 0;