项目保存索引太慢,我这边想优化的时候发现引进线程池有一个问题,也就是线程池进来之后,我保存的话没有保存完全,也就是这个日志:
少了很多,这也就是因为通过submit往线程池提交任务,速度极快,然后就可能是因为循环已经完了,但线程池这边还没有把这些文档拆解完毕,所以会出现这种保存不完全的情况。
这种情况下就要引进CountDownLatch,这也就相当于一个裁判,在大家都跑完了,然后就等完,也就如图:
引进之后就告诉程序第一个那个完成了,然后await也就是等待所有的完成之后结束就行。有两种await,死等和设置时间的,看适合那种你在使用。