ConcurrentHashMap::computeIfAbsent 是每个键还是每个 ConcurrentHashMap 原子的?

问题描述

调用 ConcurrentHashMap::computeIfAbsent 时,我使用了一个稍微昂贵的 mappingFunction。当且仅当它们用于不同的键时,mappingFunction 才可以安全地并发执行。 我想知道 mappingFunctions 是否针对不同的键同时执行。如果不是这种情况,每个 mappingFunction 将一次执行一个,导致不必要的等待时间。为了解决这个问题,我需要编写更复杂的代码并使用 putIfAbsent。 有谁知道mappingFunctions是否是针对不同的键并发执行的?

文档说明:

整个方法调用以原子方式执行,因此每个键最多应用一次该函数

这可能会也可能不会回答我的问题,这取决于您如何阅读

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)