gpt4 book ai didi

java - 多线程访问创建后不修改的 map 对象

转载 作者:行者123 更新时间:2023-11-29 03:15:21 24 4
gpt4 key购买 nike

创建 Map<> 的最佳实践是什么?将被多个线程访问的对象,但在初始化后不会被修改?

会不会是:

  1. 使用ConcurrentHashMap<>对象
  2. 创建一个正常的HashMap<>对象并将其包装在 Collections#unmodifiableMap 中称呼?只保留对 unmodifiableMap 的引用而不是原来的 HashMap<> .
  3. 其他事情。

谢谢,彼得

最佳答案

我相信(在所提供的选项中)选项 2 的效率可能高得多。

A CuncurrentHashMap根据 Javadoc,提供一个哈希表,支持检索的完全并发性和更新的可调整预期并发性。

它必须执行工作来提供它,只需保留不可变的 Map 实例并让多个读者访问它。

关于java - 多线程访问创建后不修改的 map 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27045038/

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