gpt4 book ai didi

java - ConcurrentHashMap 的迭代一致性保证

转载 作者:行者123 更新时间:2023-11-30 09:01:51 24 4
gpt4 key购买 nike

我正在编写一段代码,需要在 ConcurrentHashMap 上使用时间点一致的迭代器。

文档对迭代器的一致性有这样的说法:

guaranteed to traverse elements as they existed upon construction exactly once, and may (but are not guaranteed to) reflect any modifications subsequent to construction

但这有点粗略(“可能”)。除了 ConcurrentHashMap 可能特有的任何特定保证外,还有其他保证吗?

如果没有,是否有其他一些并发映射实现可以提供更好的保证? (同线程时间点一致性)

最佳答案

你想要的保证 + 非常大的数据集将涉及一些交易机制或快照锁定:

Snapshot<K, V> viewport = map.lockSnapshot();
try {
... // work with version-fixed viewport.
} finally {
map.unlockSnapshot(viewport);
}

也许您需要事务性键值存储?看看 GridGain 解决方案,它们具有这样的功能(还有很多)。

关于java - ConcurrentHashMap 的迭代一致性保证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26202303/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com