我有一个for循环,我想并行运行 .
if (platform != null) {
for (final String p : platform) {
log.info("Platform " + p);
executorService.submit(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
try {
runService(p, config, url, title, report);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
}
executorService.shutdown();
executorService.awaitTermination(Long.MAX_VALUE,TimeUnit.NANOSECONDS);
}
每个平台的runService方法为同一工作簿创建一个新工作表 .
我已阅读其他stackoverflow问题,apache poi工作簿不支持同一工作簿对象上的多线程 . 我已使这些方法同步,正在更新工作簿的工作表 . 这解决了我遇到的所有apache-poi错误,但仍然想知道是否有更好的方法来处理这种情况 .