HSSFWorkbook在多线程导出报表时报错原因及处理。
HSSFWorkbook在多线程导出报表时报错的情况处理。
错误情况:本打算5W每条在每个sheet界面异步写入但总是出现线程阻塞。
打开excel ,在写入sheet阻塞界面的最后一个单元格内出现了表头的值。
线程一直在running没有停止。
通过cmd查找出阻塞的具体位置,发现是cell写入时阻塞。
进入方法内一直进入,发现是HahMap.get时导致的死循环。(HashMap 在put会碰到扩容时,会把旧的存储结构转移到新的上面导致死循环)。
想到的3种解决方法,1.采用ConcurrentHas
原创
2021-01-28 09:11:18 ·
1077 阅读 ·
2 评论