阻塞队列 BlockingQueue--生产者向队列添加元素但队列已满时,生产者会被阻塞;当消费者从队列移除元素但队列为空时,消费者会被阻塞
双端的阻塞队列 BlockingDeque
阻塞队列又细分出来的概念TransferQueue
比BlockingQueue更进一步:
生产者会一直阻塞直到所添加到队列的元素被某一个消费者所消费(不仅仅是添加到队列里就完事)。
新添加的transfer方法用来实现这种约束。
顾名思义,阻塞就是发生在元素从一个线程transfer到另一个线程的过程中,它有效地实现了元素在线程之间的传递
Map中:
ConcurrentMap 接口代表一个Map,它可以处理并发访问。
ConcurrentMap除了继承自java.util.Map的方法,还有一些自己的原子方法。
ConcurrentNavigableMap支持 NavigableMap 操作,且以递归方式支持其可导航子映射的 ConcurrentMap。
并发相关实现类 java.util.concurrent:
LinkedBlockingQueue
ArrayBlockingQueue
PriorityBlockingQueue
DelayQueue
SynchronousQueue
LinkedBlockingDeque
LinkedTransferQueue
CopyOnWriteArrayList
CopyOnWriteArraySet
ConcurrentSkipListSet
ConcurrentHashMap
ConcurrentSkipListMap
ConcurrentLinkedDeque
ConcurrentLinkedQueue
集合框架接口中使用到的一些基础支撑类
Iterable:
实现这个接口允许对象成为 "foreach" 语句的目标。
实现了这个接口就表明已经遵从"迭代定义的规则",拥有了迭代的能力.
他是一个顶级接口: