请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

锁粒度和ConcurrentHashMap的问题

悟空老师,为什么缩小锁粒度的时候不把计算的取得值的逻辑锁住?ConcurrentHashMap只能保证在多线程调用同一个方法时候并发安全,同时调用get和put方法时也是存在不安全问题的吧?

正在回答 回答被采纳积分+3

1回答

悟空 2021-10-23 12:02:26

不存在安全问题,同时调用get和put方法也是安全的,ConcurrentHashMap是线程安全的。但是它不保证组合操作是线程安全的,只保证单个方法。

0 回复 有任何疑惑可以回复我~
  • 提问者 慕田峪2405345 #1
    但您在本节最后采用ConcurrentHashMap后,就是对这个map进行了组合操作,没有保护机制了。
    回复 有任何疑惑可以回复我~ 2021-10-23 14:02:04
  • 悟空 回复 提问者 慕田峪2405345 #2
    小伙伴考虑的很仔细,组合操作应该用同步比较好,正如课程里9-15 组合操作的问题小节锁介绍的,否则会有线程安全问题。
    回复 有任何疑惑可以回复我~ 2021-10-23 21:55:46
  • 提问者 慕田峪2405345 回复 悟空 #3
    嗯嗯,谢谢悟空老师,我没按顺序学习,回头学习了一下,收获颇为丰富。
    回复 有任何疑惑可以回复我~ 2021-10-25 09:05:19
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信