将集合list平均分配给10个线程进行批量插入操作。
public void threadTen(List list){
//创建线程池
ExecutorService executorService = Executors.newFixedThreadPool(10);
//10个线程执行insert任务
for (int i=0;i<10;i++){
//每个线程处理十分之一的集合数据
List<BaseRoom> subList = list.subList(list.size() / 10 * i, list.size() / 10 * (i + 1));
executorService.execute(()->{
try {
//批量插入
insertBatch(subList);
}catch (Exception e){
e.printStackTrace();
}finally {
System.out.println("当前线程"+Thread.currentThread().getName()+"处理集合为:"+subList.size());
}
});
}
//关闭线程池
executorService.shutdown();
}