【问题标题】:Segment class in ConcurrentHashMap usageConcurrentHashMap 中的 Segment 类用法
【发布时间】:2022-01-01 20:07:39
【问题描述】:

查看 ConcurrentHashMap 的实现,我看到当尝试操作它(放置/删除)时,找到了值,然后将该值用作执行实际操作的同步代码的锁。这样,只有那个桶被锁定在价值实际存在的地方。

我还看到声明了一个类 Segment,并且在许多在线可用资源中提到它用于实现并发。但是我找不到任何使用 Segment 进行同步实现的代码。

那么我到底想念什么?

我正在研究 java 11。

【问题讨论】:

    标签: java concurrenthashmap


    【解决方案1】:

    sources of OpenJDK 8,类Segment有评论:

        /**
         * Stripped-down version of helper class used in previous version,
         * declared for the sake of serialization compatibility
         */
        static class Segment<K,V> extends ReentrantLock implements Serializable {
            ...
        }
    

    所以它似乎只是为了向后兼容而存在。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-25
      • 2023-04-06
      • 2023-03-31
      • 2020-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多