mysql 要使用 in 查询,in 的List比较大,多线程分解List查询
public List<UserCountBiz> getAttendByPageList(List<Long> list, int pageSize) throws Exception {
int totalCount = list.size();
int m = totalCount % pageSize;
int pageCount = m == 0 ? (totalCount / pageSize) : (totalCount / pageSize + 1);
List<UserCountBiz> resultList = new ArrayList<>();
BlockingQueue<Future<List<UserCountBiz>>> queue = new LinkedBlockingQueue();
for (int i = 1; i <= pageCount; i++) {
Thread.sleep(0);
Future<List<UserCountBiz>> future;
if (m == 0) {
List<Long> subList = list.subList((i - 1) * pageSize, pageSize * (i));
future = getAttendCountSubList(subList);
} else {
if (i == pageCount)