java - 外部同步LinkedHashmap

标签 java concurrency

在不使用 Collections.synchronizedMap 的情况下,在外部实现 linkedhashmap 同步的最佳方法是什么

当使用 Collections.synchronizedMap 时,整个数据结构都被锁定,因此性能会受到严重影响。

什么是只锁定数据结构所需部分的最佳方法。例如如果线程正在访问键(K1),它应该只锁定数据结构的键(K1)和值(v1)部分

最佳答案

您无法从内置 Java 实现中获得细粒度锁定、FIFO 逐出并发映射。

查看 Guava's Cache或开源 ConcurrentLinkedHashMap project .

关于java - 外部同步LinkedHashmap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14015589/

相关文章:

java - 同步应该发生在成员类中还是包装类中?

haskell - Haskell 中的 "Wait-free"数据

concurrency - D 中是否有不可变数据 "burn up"RAM?

java - 您应该默认使用应用程序服务器的 JPA 提供程序吗?

java - 使用 JPA Criteria Builder 获取结果,其中仅包含数字字段,其中属性在 MySQL 中具有字母数字值

java - PrintWriter 未创建具有假定行数的输出

ios - iOS 中的调度队列名称是否出于调试以外的任何原因有意义?

java - kmeans中的ArrayOutofBoundsException,在hadoop上运行时

java - 更新重复 key ,命令未正确结束

c# - Dictionary(Of TKey, TValue)并发访问: worst scenario