java.util.concurrent 之ConcurrentSkipListSet
2016-11-16 10:49
686 查看
ConcurrentSkipListSet介绍
ConcurrentSkipListSet是线程安全的有序的集合,适用于高并发的场景。ConcurrentSkipListSet和TreeSet,它们虽然都是有序的集合。但是,第一,它们的线程安全机制不同,TreeSet是非线程安全的,而ConcurrentSkipListSet是线程安全的。第二,ConcurrentSkipListSet是通过ConcurrentSkipListMap实现的,而TreeSet是通过TreeMap实现的。
ConcurrentSkipListSet原理和数据结构
ConcurrentSkipListSet的数据结构,如下图所示:![](http://images.cnitblog.com/blog/497634/201312/30231618-c5642dcd06d344269bfda4f05f431951.jpg)
说明:
(01) ConcurrentSkipListSet继承于AbstractSet。因此,它本质上是一个集合。
(02) ConcurrentSkipListSet实现了NavigableSet接口。因此,ConcurrentSkipListSet是一个有序的集合。
(03) ConcurrentSkipListSet是通过ConcurrentSkipListMap实现的。它包含一个ConcurrentNavigableMap对象m,而m对象实际上是ConcurrentNavigableMap的实现类ConcurrentSkipListMap的实例。ConcurrentSkipListMap中的元素是key-value键值对;而ConcurrentSkipListSet是集合,它只用到了ConcurrentSkipListMap中的key!
相关文章推荐
- java.util.concurrent.ConcurrentSkipListSet 基于跳跃链表的并发set
- Java多线程--并发中集合的使用ConcurrentSkipListSet(from java platform)
- Java concurrency集合之ConcurrentSkipListSet_动力节点Java学院整理
- Java多线程系列--“JUC集合”06之 ConcurrentSkipListSet
- Java多线程系列--【JUC集合06】- ConcurrentSkipListSet
- Java多线程系列--“JUC集合”06之 ConcurrentSkipListSet
- java数据结构:ConcurrentSkipListSet<E>与CopyOnWriteArraySet<E>
- Java多线程系列--“JUC集合”06之 ConcurrentSkipListSet
- Java多线程系列--“JUC集合”06之 ConcurrentSkipListSet
- Java多线程系列--“JUC集合”06之 ConcurrentSkipListSet
- Java常见集合框架(十二):Set之ConcurrentSkipListSet、EnumSet
- Java并发容器之CopyOnWriteArraySet与ConcurrentSkipListSet
- 并发容器之ConcurrentSkipListSet
- JAVA中util类里的map/set/list/vector之间的关系
- JUC源码分析16-集合-ConcurrentSkipListMap、ConcurrentSkipListSet
- java 并发操作list集合导致java.util.ConcurrentModificationException
- 【JUC】JDK1.8源码分析之ConcurrentSkipListSet(八)
- 再次踩bug:遍历删除list(java.util.ConcurrentModificationException)
- 在使用set/map时,一个可爱的小bug:java.util.ConcurrentModificationException
- java.util.concurrent.CopyOnWriteArraySet