concurrenthashmap 相关问题

Java ConcurrentHashMap数据结构。 ConcurrentHashmap是一个哈希表,支持检索的完全并发性和可更新的预期并发性。它允许从多个线程并发地修改Map,而无需阻止它们

检查Map值,如果需要则等待并原子更新

我正在寻找一个易于理解的原子替代下面的代码片段。或者关于如何正确执行此操作的算法。 假设有一张地图: // key->占用资源数 ...

回答 1 投票 0

有没有更好的方法来确定computeIfAbsent是否返回新值?

我有这样的代码: ConcurrentMapmap = new ConcurrentHashMap<>(); AtomicBoolean isNew = new AtomicBoolean(false); 字符串结果 = map.computeIfAbsent("foo", key ...

回答 2 投票 0

ConcurrentHashMap 读、写和清除()

假设有3个读线程和1个写线程。 写入线程调用map.clear()。会造成什么异常或影响?

回答 3 投票 0

Kotlin 中的并发哈希图

是否可以纯粹用 Kotlin 实现并发哈希映射(不依赖 Java)?我是 Kotlin 新手,看起来 kotlin.collections 中没有明显可用的 API。

回答 3 投票 0

Java 11 Properties 类是否使用双同步?它使用 ConcurrentHashMap 并同时使用同步方法

我目前正在深入研究 java 11 Properties 类的实现。在 java 11 源代码中,Properties 类将其数据存储在名为“map”的 ConcurrentHashMap 字段中。当你调用该方法时

回答 1 投票 0

ConcurrentHashMap有可能“死锁”吗?

我们在 ConcurrentHashMap 中遇到了一个奇怪的问题,其中两个线程似乎正在调用 put(),然后在 Unsafe.park() 方法中永远等待。从外面看,它就像一个

回答 4 投票 0

如果我只使用get()方法,是否需要ConcurrentHashMap

我创建了一个包含 4 种地址格式的枚举。我知道哪个国家/地区使用哪种格式,并且我正在尝试创建一个 HashMap,其中包含国家/地区作为键,格式作为值。我想要得到

回答 1 投票 0

ConcurrentHashMap 的 ConcurrentModificationException

我理解其背后的概念,但认为使用 ConcurrentHashMap 而不是 HashMap 可以修复它。因为ConcurrentHashMap可以防止不同线程的并发读取和修改...

回答 2 投票 0

迭代具有 50000 或更多记录以匹配键的映射的有效方法

公共用户 getUserEntryFromIdKey(String id) { for (Map.Entry 条目: userMap.entrySet()) { if (entry.getKey().matches(id)) { 返回entry.getValue(); ...

回答 2 投票 0

具有空键功能的线程安全映射

我需要一个多线程 Map 对象在我的 Web 服务器的缓存中使用,并且我需要有 null 键。 HashMap 允许我拥有 null 键,但 ConcurrentHashMap 不允许。我尝试创建一个同步器...

回答 2 投票 0

并发 HashMap 弱一致性在迭代期间丢失过去的键 - 多线程发布/订阅

注意到 ConcurrentHashMap 迭代的奇怪行为。 设想: 单个发布者线程不断向并发哈希映射添加新键。注意键按顺序添加。 多个

回答 1 投票 0

清理过期的哈希映射

我需要一个在键值对过期后运行一段代码的数据结构。例如,我有一个密钥和一个连接对象存储在即将过期的哈希图中。我需要这个即将过期的 hashma...

回答 2 投票 0

Java ConcurrentHashMap的computeIfAbsent()方法支持基于key的“锁定”吗?

https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentHashMap.html#computeIfAbsent-K-java.util.function.Function- 假设我们有 10 个线程使用 diff 调用以下代码...

回答 2 投票 0

为什么Java的Cleaner使用链表而不是ConcurrentHashSet?

Java 的 Cleaner 在底层使用双向链表来保存 PhantomReferences,直到它们的引用对象变得幻像可达。当 Cleaner 的守护线程弹出并删除 PhantomReferenc 时...

回答 1 投票 0

计算块内是否严格需要使用原子整数?

我的疑问很简单。根据其他帖子,由于读+写操作 count++,这不是线程安全的。但据我所知,计算会阻止该密钥的整个扇区......

回答 1 投票 0

如何锁定 ConcurrentHashMap 中的键

我正在将一个由线程创建的对象缓存到地图中。对象的创建是昂贵的,所以我不希望运行多个线程来创建对象,因为 put() 还没有 ret...

回答 2 投票 0

并行使用tbb::concurrent_hash_map的find()迭代时,获取到的数据量与map的大小不一致?

我有两个线程,一个在 tbb::concurrent_hash_map 上执行 find() ,另一个在不执行任何插入或删除的情况下遍历此映射。奇怪的是,如果find()没有执行...

回答 1 投票 0

groovy 关联数组线程安全吗?

我有一个groovy脚本,其中多个线程尝试写入声明为:def array = [:]的相同关联映射。 put 和 get 在这里的线程安全吗?我没有找到太多关于...的信息

回答 1 投票 0

从 ConcurrentHashMap 获取先前值和新值的功能方法

我需要从 Java ConcurrentHashMap (在 Scala 代码中)获取先前的值和新的值。为了保持线程安全,我使用只返回新值的计算块。是否可以同时获得新品和专品...

回答 1 投票 0

如何有条件地将值放入并发哈希图中?

我维护着不同游戏的高分地图。当我收到新的分数时,我希望能够检查该分数是否高于当前的高分,如果是,则将其设为新的高分...

回答 1 投票 0

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.