java多线程处理数据表格

问题描述: 现在需要处理一个excel表格,数据量几百条,我使用多线程处理

思路描述: 使用import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;类实现

核心代码:

ExecutorService e = Executors.newFixedThreadPool(10);
        e.submit(new Runnable() {
            @Override
            public void run() {
                Long id = Thread.currentThread().getId();
                logger.info("当前线程:" + id);
                try {
                    gr(inpath, outpath, prefix1);
                } catch (Exception e) {
                    logger.error("----------转化错误,请参照说明文档-------");
                    e.printStackTrace();
                }

            }
        });
        e.submit(new Runnable() {
            @Override
            public void run() {
                Long id = Thread.currentThread().getId();
                logger.info("当前线程:" + id);
                try {
                    fr(inpath, outpath, prefix2, prefix3);
                } catch (IOException e) {
                    logger.error("----------转化错误,请参照说明文档-------");
                    e.printStackTrace();
                }

            }
        });
        e.submit(new Runnable() {
            @Override
            public void run() {
                Long id = Thread.currentThread().getId();
                logger.info("当前线程" + id);
                try {
                    gandf(inpath, outpath, prefix1, prefix2, prefix3);
                } catch (IOException e) {
                    logger.error("----------转化错误,请参照说明文档-------");
                    e.printStackTrace();
                }
            }
});

测试结果: 3个线程时间分别是:7秒,12秒,和12秒,最终程序执行一共耗时13秒,说明进行和并行计算