【发布时间】:2012-02-24 08:16:39
【问题描述】:
将始终有 500+ 个线程同时将唯一对象上传到存储桶。
在这种情况下,我应该使用哪个数据结构/类来在 java 中实现存储桶。
仅供参考:
我尝试使用 ArrayList、Vector、ConcurrentHashMap、ArrayBlockingQueue、LinkedBlockingQueue。
ArrayList 失败,因为它不是线程安全的。 Vector 会消耗更多的插入时间。 (因为等待监视器锁定的时间很长)
...最后,我使用了 ArrayBlockingQueue,这听起来很适合比较其他人。
如果此案例存在任何其他好的类/数据结构,请建议我。
【问题讨论】:
-
你需要一套还是一张清单?即,数据结构是否应该自动过滤掉重复的元素?这是数据结构的一个关键区别,对回答您的问题很重要。
-
不会有重复的元素。具体来说,我需要一个清单。
标签: java insert java.util.concurrent