假设我可以拥有数千个特定类型的对象,并且在每个对象中有一个用于List或set的字段,但此列表或集合需要是并发的。数百或数千个对象中的每个对象的并发哈希映射看起来有点过分(或者是吗?)。我还需要在每个列表/集合中进行原子put-if-absent操作。 ConcurrentHashMap是否过度或过于昂贵?有更轻量级的替代品吗?我不想做同步集或列表...
答案 0 :(得分:0)
并发CopyOnWriteArraySet,仅适用于很少更改的集合。
另一种选择是从ConcurrentHashMap创建一个Set
Set<Object> set1 = Collections.newSetFromMap(new ConcurrentHashMap<Object, Boolean>());