【发布时间】:2013-08-30 19:59:13
【问题描述】:
我正在查看 jdk 7 中 ConcurrentHashMap 的源代码,并且有几个问题。我已经在 StackOverFlow 上浏览了所有关于 CHM 的问题,但找不到答案。
CHM 中的
get()操作能否保证得到正确的put()值? 其他线程?我问这个,因为 get 不是synchronized除非它 看到空值。空值如何确保相同的记录 被其他线程更新,然后get被锁使用?-
这与存储键和值的
HashEntry静态类有关。一个。为什么这门课是决赛?只是为了确保没有人继承它吗? 如果有人继承它会发生什么——这有什么问题吗?
b.将下一个字段设为 final 如何有助于获得线程安全?
c。为什么Key也是final? (我也不确定为什么 Key 在
HashMap中也是最终的)
【问题讨论】:
标签: java multithreading collections java.util.concurrent concurrenthashmap