JUC中的集合类

转载

List和Set

JUC集合中的list和set类如下:

  • CopyOnWriteArrayList:相当于线程安全的ArrayList,实现了List接口,支持高并发
  • CopyOnWriteArraySet:相当于线程安全的HashSet,它继承于AbstractSet类,其内部是通过CopyOnWriteArrayList来实现的
  • ConcurrentSkipListSet:相当于线程安全的TreeSet,它继承于AbstractSet类,并实现了NavigableSet接口,其内部是通过ConcurrentSkipHashMap实现的,支持高并发
CopyOnWriteArrayList和CopyOnWriteArraySet框架.png

Map

JUC集合中的map的实现类如下:

  • ConcurrentHashMap:相当于线程安全的HashMap,它继承于AbstractMap类,并且实现ConcurrentMap接口。ConcurrentHashMap是通过“分段锁”来实现并发的
  • ConcurrentSkipListMap:相当于线程安全的TreeSet,它继承于AbstractSet,并实现了ConcurrentNavigableMap接口。ConcurrentSkipListMap是通过“跳表”来实现并发的
JUC之Map框架.png

Queue

JUC集合中Queue的实现类如下:

  • ArrayBlockingQueue是数组实现的线程安全的有界的阻塞队列
  • LinkedBlockingQueue是单向链表实现的(指定大小)阻塞队列,该队列按 FIFO(先进先出)排序元素。
  • LinkedBlockingDeque是双向链表实现的(指定大小)双向并发阻塞队列,该阻塞队列同时支持FIFO和FILO两种操作方式。
  • ConcurrentLinkedQueue是单向链表实现的无界队列,该队列按 FIFO(先进先出)排序元素。
  • ConcurrentLinkedDeque是双向链表实现的无界队列,该队列同时支持FIFO和FILO两种操作方式。
JUC之Queue框架
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容