日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

LinkedBlockingQueue阻塞队列详解

發(fā)布時(shí)間:2024/8/24 编程问答 32 如意码农
生活随笔 收集整理的這篇文章主要介紹了 LinkedBlockingQueue阻塞队列详解 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

主要api

java.util.concurrent包下的新類。LinkedBlockingQueue就是其中之一,是一個(gè)阻塞的線程安全的隊(duì)列,底層采用鏈表實(shí)現(xiàn)。

     
 LinkedBlockingQueue構(gòu)造的時(shí)候若沒有指定大小,則默認(rèn)大小為Integer.MAX_VALUE,當(dāng)然也可以在構(gòu)造函數(shù)的參數(shù)中指定大小。LinkedBlockingQueue不接受null。

添加元素的方法有三個(gè):add,put,offer,且這三個(gè)元素都是向隊(duì)列尾部添加元素的意思。

區(qū)別:

add方法在添加元素的時(shí)候,若超出了度列的長度會(huì)直接拋出異常:

put方法,若向隊(duì)尾添加元素的時(shí)候發(fā)現(xiàn)隊(duì)列已經(jīng)滿了會(huì)發(fā)生阻塞一直等待空間,以加入元素。

offer方法在添加元素時(shí),如果發(fā)現(xiàn)隊(duì)列已滿無法添加的話,會(huì)直接返回false。

從隊(duì)列中取出并移除頭元素的方法有:poll,remove,take。

poll: 若隊(duì)列為空,返回null。

remove:若隊(duì)列為空,拋出NoSuchElementException異常。

take:若隊(duì)列為空,發(fā)生阻塞,等待有元素。

總結(jié)

以上是生活随笔為你收集整理的LinkedBlockingQueue阻塞队列详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。