【问题标题】:ConcurrentHashMap implementation change from Java 7 to 8 [duplicate]ConcurrentHashMap 实现从 Java 7 更改为 8 [重复]
【发布时间】:2018-12-01 13:47:22
【问题描述】:

我最近查看了 ConcurrentHashMap java 1.8 源代码,整个实现是从 java 1.7 更改的。特别是我更想知道为什么他们现在使用synchronized而不是1.7中的Reentrantlock来进行锁定。 如果有人可以提供一些指针或指向我一些解释 1.7 版本中的缺点的文章。

【问题讨论】:

  • 只是一个猜测:同步比 ReenrantLock 更具可读性,但代价是灵活性和效率。我的猜测是不需要额外的灵活性,同步的效率提高到它是一个更好的选择。

标签: java multithreading synchronized concurrenthashmap reentrantlock


【解决方案1】:

根据this answer 的说法,实现 Java 8 的新功能(Map 接口上的许多额外方法)所需的更改量需要重写。

还有another thread 提出了关于使用内部锁而不是 Lock 对象的相同特定问题(但没有得到答复)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-05
    相关资源
    最近更新 更多