1. 背景
阻塞隊列是在我們的并發(fā)包中,可以幫助我們高效安全地傳輸數(shù)據(jù)健芭,為我們寫出高質(zhì)量的多線程程序帶來便利。
2. 主要方法
我們可以看一下定義和主要方法:
定義和主要方法.png
主要方法含義:
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
添加元素梅桩,指定時間內(nèi),成功返回true,失敗返回false
5)E take() throws InterruptedException
獲取元素拜隧,沒有元素會一直阻塞宿百,直到有值,并取得該值
6)E poll(long timeout,TimeUnit unit)
獲取元素洪添,指定時間內(nèi)垦页,取不到會拋出異常
7)int remainingCapacity()
獲取隊列剩余大小
8)boolean remove(Object o)
從隊列移除指定的值
9)public boolean contains(Object o)
隊列中是否包含某值
10)int drainTo(Collection<? super E> c);
將隊列中值設(shè)置到集合中,并將隊列中全部移除
- int drainTo(Collection<? super E> c,int maxElements)
將隊列中指定數(shù)量值薇组,設(shè)置到集合中外臂,并移除