开发者社区> 问答> 正文

多线程下 HashMap 有什么问题?

多线程下 HashMap 有什么问题?

展开
收起
真的很搞笑 2021-10-28 21:36:21 419 0
1 条回答
写回答
取消 提交回答
  • 我们以 put 方法为例(1.8),假如现在有两个线程都执行到了if。当线程一判断为空之后,CPU 时间片到了,被挂起。线程二也执行到此处判断为空,继续执行下一句,创建了一个新节点,插入到此下标位置。然后,线程一解挂,同样认为此下标的元素为空,因此也创建了一个新节点放在此下标处,因此造成了元素的覆盖。

    所以,不管是 JDK1.7 还是 1.8 的 HashMap 都存在线程安全的问题。

    2021-10-28 21:37:14
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
多IO线程优化版 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载