个人历程
曾从祥
javaer
展开
-
使用Future配合CyclicBarrier实现多线程读取Excel文档并导入进DB
第一步:计算线程,分界点可根据实际情况进行更改 //存放数据的队列 Vector<List<NiaoJianDTO>> vector = new Vector<>(); //起一个线程池,防止A,B俩个线程同时读取到数据在不同线程里执行importData()方法 private final ExecutorService finalThreadPool = Executors.newFixedThreadPool(1);原创 2021-03-19 09:13:36 · 318 阅读 · 1 评论 -
记录单线程读取Excel文件慢转多线程的过程
公司需求:将Excel表格中的数据导入DB,表格中数据比较特殊,可能由30行组成一个人完整的数据,也有可能20行组成完整的数据。 一开始实现方式:单线程读取Excel文件,假如文件有6000行,以1000行为分界点,读取到1000行的时候(判断第1000行的数据是否和第998行的数据为同一人,如果为同一人则1000--,一直到不是同一人为止)起一个线程解析数据。 实现结果:读取1300条左右的数据耗时75秒,慢的过分,于是开始优化之路: 优化思路:多线程读取Excel,计算需要的线程数 线程数 = 当原创 2021-03-18 11:21:21 · 972 阅读 · 1 评论