gpt4 book ai didi

Java 并发和 Add-Only HashMap

转载 作者:搜寻专家 更新时间:2023-11-01 02:53:53 26 4
gpt4 key购买 nike

我正在编写一个广泛使用大型 HashMap 的程序。它是多线程的,所以我在访问它时使用了读写锁。但是,它有一个我想利用的特殊属性。

将数据“放入”HashMap 后,该数据永远不会改变。曾经。每当对该数据结构的状态进行更改时,它实际上只是创建了新的“一代”结构,而旧结构保持不变。

也就是说,在另一个线程写入值的同时从 HashMap 读取一个值是否安全,因为知道另一个线程永远不会写入您正在写入的值读?是否有一些简单的哈希表结构可以给我这种保证?

最佳答案

不是真的。因为您可以写入它,所以您可能会在这样做时触发基础数组的大小调整。如果您在另一个线程的读取过程中触发调整大小,您真的会扰乱它准确查找数据的能力!

关于Java 并发和 Add-Only HashMap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5711724/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com