Blockingqueue幾個方法總結


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

     1、add(E e)

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

     2、offer(E e)

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

      3、put(E e)

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

      4、offer(E e, long time, timeunit unit)

      將給定元素在給定的時間內設置到隊列中,如果設置成功返回true, 否則返回false。

      5、E take()

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

      6、E poll( long time, timeunit unit)

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM