我有几个关于java.util.concurrent包的问题:
ConcurrentTreeMap呢?可以说,SkipListMap包括一个TreeMap吗?例如,非并发HashMap具有其并发对应的ConcurrentHashMap。为什么TreeMap没有发生这种情况?
发布于 2013-07-15 14:17:51
为什么一边是非并发TreeMap,另一边是ConcurrentSkipListMap?
我怀疑之所以这样做是因为并发树结构太困难了,或者受到了锁定性能问题的困扰。就有序集合而言,SkipLists是非常简单的数据结构,为树提供了类似的行为和性能,因此ConcurrentSkipListMap (和Set)可能更容易并发。
实际上,我对自己没有一个非并发的SkipList集合感到更失望。
可以肯定地说,SkipListMap包括一个TreeMap吗?
不是的。可以肯定地说,SkipList在有序的项集合方面提供了类似的特性,这些集合为O(logN)提供了查找、插入、删除等方面的性能。至少它给出了这种性能的概率近似。
这是一个关于船长的好消息。它们是非常酷的数据结构。我只能希望这些都是在现代编程数据结构类中教授的。
https://stackoverflow.com/questions/17656373
复制相似问题