简单,廉价的并发列表或设置?

时间:2014-07-05 01:16:19

标签: java concurrency hashmap concurrenthashmap

假设我可以拥有数千个特定类型的对象,并且在每个对象中有一个用于List或set的字段,但此列表或集合需要是并发的。数百或数千个对象中的每个对象的并发哈希映射看起来有点过分(或者是吗?)。我还需要在每个列表/集合中进行原子put-if-absent操作。 ConcurrentHashMap是否过度或过于昂贵?有更轻量级的替代品吗?我不想做同步集或列表...

1 个答案:

答案 0 :(得分:0)

并发CopyOnWriteArraySet,仅适用于很少更改的集合。

另一种选择是从ConcurrentHashMap创建一个Set

Set<Object> set1 = Collections.newSetFromMap(new ConcurrentHashMap<Object, Boolean>());