gpt4 book ai didi

java - ConcurrentHashMap 在 Guava /咖啡因/中计算?缓存

转载 作者:行者123 更新时间:2023-12-02 00:55:32 28 4
gpt4 key购买 nike

从 Java 8 开始,我们可以在 ConcurrentHashMap 上使用 .compute* 方法来按 key 同步处理,这样如果两个线程同时对同一个 key 执行 .compute* 方法,回调仍然会依次执行,而不是同时地。但是 ConcurrentHashMap 不提供缓存通常允许的及时删除数据的能力。

Guava/Caffeine 缓存提供了根据时间自动删除值的能力,但是您没有像 ConcurrentHashMap 那样基于键同步处理的令人讨厌的功能(您可以使用 asMap 方法获取 ConcurrentMap,但是 .compute* 实现)不提供基于 key 的同步)

我的目标是既像 ConcurrentHashMap 那样按键处理同步,又像 Guava/Caffeine 那样按时间删除。

用 Java 实现它的最佳方法是什么?

最佳答案

我对咖啡因的看法是错误的 - 它支持计算的原子操作。从21版本开始增加了Guava支持。

关于java - ConcurrentHashMap 在 Guava /咖啡因/中计算?缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57821681/

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