/**
* 主线程用来比较,子线程用来释放
* @param additionalGroupMatches
* @return
*/
@Override
public String checkDataBase(List<AdditionalGroupMatch> additionalGroupMatches) {
//原子性,保证线程安全(什么是原子操作?一个操作是不可分割的。) value用来返回错误的结果,errorResult用来判断
AtomicReference<String> value=new AtomicReference<>(null);
AtomicReference<String> errorResult = new AtomicReference<>(null);
//一次查询多少条数据,获取需要循环多少次
final int selectCount = 1000;
Integer count = groupMatchupMapper.getCount();
int l = ((count / selectCount) + 1);
CountDownLatch mainDownLatch = new CountDownLatch(1);
CountDownLatch subDownLatch = new CountDownLatch(l);
ExecutorService executorService = Executors.newFixedThreadPool(10);
for (int i = 0; i < l; i++) {
//如果主线
使用多线程完成Excel导入的数据与数据库中的数据进行重复校验
于 2023-07-18 09:17:47 首次发布
本文介绍了如何利用Java的多线程技术,高效地完成Excel文件中的数据与数据库记录的重复性校验。通过创建线程池,将数据校验任务并行处理,提高整体效率,同时保证数据一致性。
摘要由CSDN通过智能技术生成