gpt4 book ai didi

java - Collections.synchronizedList/synchronizedMap 的真正值(value)是什么?

转载 作者:行者123 更新时间:2023-12-03 12:56:07 25 4
gpt4 key购买 nike

我没有看到使用 Collections.synchronizedList/synchronizedMap 的任何真正值(value),而且根据文档,我们需要在迭代期间同步列表/映射,这对性能不利。

我可以只使用 ConcurrentMap/CopyOnWriteArrayList 类。基本上我问在什么情况下我们只需要使用 Collections.synchronizedList/synchronizedMap 而不是使用 java.util.concurrent 包中的类。

最佳答案

I don't see any real value of using Collections.synchronizedList/synchronizedMap, and further more as per documentation we need to synchronize list/map during iteration, which is not good for performance.



无论如何,迭代集合对于性能来说并不是一个好主意。如果您关心性能,您应该构建您的结构,以便它们不需要迭代。

I can just use ConcurrentMap/CopyOnWriteArrayList class. Basically I'm asking in what case we only need to use Collections.synchronizedList/synchronizedMap rather than utilize classes in java.util.concurrent package.



并发集合通常更易于使用。你应该注意到一个小的 ConcurrentHashMap 将比同步的 HashMap 大很多倍,所以除非你只有其中的几个,否则 HashMap 仍然可能是最好的选择。

CopyOnWriteArrayList 读取速度非常快,但更新成本非常高。 (它在添加或删除时复制整个数组,可能不止一次)

关于java - Collections.synchronizedList/synchronizedMap 的真正值(value)是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17771196/

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