gpt4 book ai didi

java - 我应该什么时候使用 ConcurrentSkipListMap?

转载 作者:IT老高 更新时间:2023-10-28 13:51:14 27 4
gpt4 key购买 nike

在 Java 中,ConcurrentHashMap 可以提供更好的 multithreading 解决方案。那我应该什么时候使用ConcurrentSkipListMap?是冗余吗?

这两者之间的多线程方面是否共同?

最佳答案

这两个类在几个方面有所不同。

ConcurrentHashMap作为其契约(Contract)的一部分,不保证*其操作的运行时间。它还允许调整某些负载因子(大致是同时修改它的线程数)。

ConcurrentSkipListMap另一方面,保证在各种操作上的平均 O(log(n)) 性能。它也不支持为了并发性而进行的调优。 ConcurrentSkipListMap 也有许多 ConcurrentHashMap 没有的操作:ceilingEntry/Key、floorEntry/Key 等。它还维护一个排序顺序,否则必须如果您使用的是 ConcurrentHashMap,则计算(费用显着)。

基本上,为不同的用例提供了不同的实现。如果您需要快速添加单键/值对和快速单键查找,请使用 HashMap。如果您需要更快的中序遍历,并且可以负担插入的额外成本,请使用 SkipListMap

*虽然我希望实现大致符合 O(1) 插入/查找的一般 HashMap 保证;忽略重新散列

关于java - 我应该什么时候使用 ConcurrentSkipListMap?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1811782/

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