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秒,说明进行和并行计算