在Java中,用来映射整数和字符串的正确线程安全集合是什么?ConcurrentHashMap是正确的选择吗?
private volatile ConcurrentHashMap<int, bool> chm;上面的声明有什么问题。Eclipse显示“标记"int”上存在语法错误,此标记后需要维度“
发布于 2010-09-15 11:58:09
这会将Integer映射到String。在Java中,泛型必须使用引用类型(Integer、Boolean等),而不是基元(int、boolean等)。
private final ConcurrentHashMap<Integer, String> chm;我不需要是易失性的,除非在不太可能的情况下,您将从多个线程将新地图放入字段中。映射本身将负责同步突变。
发布于 2010-09-15 13:53:00
请确保您了解,即使使用ConcurrentHashMap,您仍然可以获得不一致,特别是当您的代码有一个读/写/读区域时。该映射上的多个操作仍然需要作为一个“事务处理”进行同步。
https://stackoverflow.com/questions/3714542
复制相似问题