集合类:
集合类存放的都是对象的引用,而非对象本身,出于表达上的便利,我们称集合中的对象就是指集合中对象的引用(reference)。集合类型主要有3种:set(集)、list(列表)和map(映射)。
比如ArrayList,HashMap是线程不安全的,当多个并发线程访问同一个共享的数据结构时,会造成数据的不正确性。
并发集合:
可以在并发中使用的,不会出现问题且可保证数据一致的集合。
常见的并发集合类:
a) 非阻塞队列,使用ConcurrentLinkedDeque类。
b) 阻塞队列,使用LinkedBlockingDeque类。
c) 用在生产者与消费者数据的阻塞队列,使用LinkedTransferQueue类。
d) 使用优先级排序元素的阻塞队列,使用PriorityBlockingQueue类。
e) 存储延迟元素的阻塞队列,使用DelayQueue类。
f) 非阻塞可导航的map,使用ConcurrentSkipListMap类。
g) 随机数,使用ThreadLocalRandom类。
h) 原子变量,使用AtomicLong和AtomicIntegerArray类。
网友评论