java并发集合的一些坑

用ScheduledExecutorService并发计算相似度,结果要放到同一个集合,然后再进行排序。

试了vector,CopyOnWriteArrayList等集合,都会出现随机的数据丢失,然后写了一个ConcurrentArrayList,也是会有数据丢失。

最后还是想办法换回ConcurrentHashMap,数据不丢失了,问题解决,看来还是ConcurrentHashMap比较靠谱。但是发现奇怪问题,16路线程,每线程一个结果,最后这个map的size应该是16才对,但实际上log出来是个变数,还没搞明白什么问题。

你可能感兴趣的:(java并发集合的一些坑)