myCity_NJ

为我女儿能当白富美而读书

并发包(java.util.concurrent)下的集合

统一特性:线程安全,支持并发操作。

非阻塞队列(队列无数据,操作队列产生异常或返回null,不具等待/阻塞的特色)

ConcurrentHashMap ,相对于线程安全的HashTable,优势在于HashTable不支持在循环(iterator)中对结构调整(增、删),否则会有ConcurrentModificationException异常。

ConcurrentSkipListMap,支持排序。

ConcurrentSkipListSet,支持排序且不允许重复元素。

    上面两个: 排序的实现要求集合中的对象实现Comparable接口,不重复的实现为重写hashCode和equals方法。

ConcurrentLinkedQueue,队列操作(只操作队头),poll() / peek() / element()。

ConcurrentLinkedDeque,双端队列(支持操作队头和队尾),pollFirst() / pollLast()。

CopyOnWriteArrayList,ArrayList非线程安全。

CopyOnWriteArraySet,HashSet非线程安全。

阻塞队列(取空队列需要等待直到有元素,塞满队列需要等待直到有空间)

ArrayBlockingQueue,有界阻塞队列

LinkedBlockingQueue,无界阻塞队列。

PriorityBlockingQueue,优先级队列,集合内对象实现Comparable接口重写compareTo()方法。

SynchronousQueue,同步队列,详见 1 和 2 ,(插入需等待移除,移除需等待插入)。 

DelayQueue,延时执行任务的队列,集合元素需实现java.util.concurrent.Delayed接口。

LinkedTransferQueue,与SynchronousQueue功能类似,但有嗅探功能,能尝试性的添加数据(tryTransfer()方法)。




阅读更多
个人分类: JAVA
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

并发包(java.util.concurrent)下的集合

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭