IT源码网

java之ConcurrentHashMap线程安全

Free-Thinker 2024年11月24日 程序员 113 0

修改值ArrayList的concurrentHashMap线程安全吗? 如果不是,初始化和更新 ConcurrentHashMap 内的整数数组列表的最有效方法是什么?

谢谢

请您参考如下方法:

在您的示例中,有两个数据结构需要线程安全。

其中之一是 map ,因此 map 上的任何更新都需要是线程安全的,您已经了解了这一点。

第二个是数组列表。您需要询问如果多个线程想要更​​新同一个 arrayList,预期的行为是什么。在您不希望出现的情况下,Arraylists 会抛出 ConcurrentModificationException。

在这种情况下,您应该将 Collections.synchronizedList 或 CopyOnWriteArrayList 放入映射中。如果没有太多更新,后者是更好的选择。


评论关闭
IT源码网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!