Blockingqueue幾個方法總結

      在新增的Concurrent包中,BlockingQueue很好的解決了多線程中,如何高效安全「傳輸」數據的問題。經過這些高效而且線程安全的隊列類,爲咱們快速搭建高質量的多線程程序帶來極大的便利。本文簡要介紹下BlockingQueue接口中幾個方法的做用及區別。安全

     一、add(E e)多線程

      在不違反容量限制的狀況下,可當即將指定元素插入此隊列,成功返回true,當無可用空間時候,返回IllegalStateException異常。線程

     二、offer(E e)接口

      在不違反容量限制的狀況下,可當即將指定元素插入此隊列,成功返回true,當無可用空間時候,返回false。隊列

      三、put(E e)it

      直接在隊列中插入元素,當無可用空間時候,阻塞等待。io

      四、offer(E e, long time, timeunit unit)程序

      將給定元素在給定的時間內設置到隊列中,若是設置成功返回true, 不然返回false。方法

      五、E take()im

      獲取並移除隊列頭部的元素,無元素時候阻塞等待。

      六、E poll( long time, timeunit unit)

      獲取並移除隊列頭部的元素,無元素時候阻塞等待指定時間。

相關文章
相關標籤/搜索