1. 背景
阻塞队列是在我们的并发包中,可以帮助我们高效安全地传输数据,为我们写出高质量的多线程程序带来便利。
2. 主要方法
我们可以看一下定义和主要方法:
主要方法含义:
1)boolean add(E e)
添加元素,成功返回true,失败抛出异常
2)boolean offer(E e)
添加元素,成功返回true,失败返回false,e不能为空
3)void put(E e) throws InterruptedException
添加元素,如果已满,该方法会一直阻塞,直到有可用的空间
4)boolean offer(E e,long timeout,TimeUnit unit) throws InterruptedException
添加元素,指定时间内,成功返回true,失败返回false
5)E take() throws InterruptedException
获取元素,没有元素会一直阻塞,直到有值,并取得该值
6)E poll(long timeout,TimeUnit unit)
获取元素,指定时间内,取不到会抛出异常
7)int remainingCapacity()
获取队列剩余大小
8)boolean remove(Object o)
从队列移除指定的值
9)public boolean contains(Object o)
队列中是否包含某值
10)int drainTo(Collection<? super E> c);
将队列中值设置到集合中,并将队列中全部移除
- int drainTo(Collection<? super E> c,int maxElements)
将队列中指定数量值,设置到集合中,并移除