日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

java ArrayBlockingQueue的方法及缺點分析

瀏覽:131日期:2022-08-18 15:21:59

提到ArrayBlockingQueue的方法,想必大家都不陌生,我們在入隊和出隊的時候,接觸了不少這方面的函數(shù)。當(dāng)然ArrayBlockingQueue中的方法也不止于此,今天我們就全部為大家羅列出來,也算是做一個學(xué)習(xí)方向上的指引。然后就其中的peek方法帶來實例介紹,并說明ArrayBlockingQueue使用的不足之處。

1.ArrayBlockingQueue函數(shù)列表

// 創(chuàng)建一個帶有給定的(固定)容量和默認(rèn)訪問策略的 ArrayBlockingQueue。ArrayBlockingQueue(int capacity)// 創(chuàng)建一個具有給定的(固定)容量和指定訪問策略的 ArrayBlockingQueue。ArrayBlockingQueue(int capacity, boolean fair)// 創(chuàng)建一個具有給定的(固定)容量和指定訪問策略的 ArrayBlockingQueue,它最初包含給定 collection 的元素,并以 collection 迭代器的遍歷順序添加元素。ArrayBlockingQueue(int capacity, boolean fair, Collection<? extends E> c)// 將指定的元素插入到此隊列的尾部(如果立即可行且不會超過該隊列的容量),在成功時返回 true,如果此隊列已滿,則拋出 IllegalStateException。boolean add(E e)// 自動移除此隊列中的所有元素。void clear()// 如果此隊列包含指定的元素,則返回 true。boolean contains(Object o)// 移除此隊列中所有可用的元素,并將它們添加到給定 collection 中。int drainTo(Collection<? super E> c)// 最多從此隊列中移除給定數(shù)量的可用元素,并將這些元素添加到給定 collection 中。int drainTo(Collection<? super E> c, int maxElements)// 返回在此隊列中的元素上按適當(dāng)順序進(jìn)行迭代的迭代器。Iterator<E> iterator()// 將指定的元素插入到此隊列的尾部(如果立即可行且不會超過該隊列的容量),在成功時返回 true,如果此隊列已滿,則返回 false。boolean offer(E e)// 將指定的元素插入此隊列的尾部,如果該隊列已滿,則在到達(dá)指定的等待時間之前等待可用的空間。boolean offer(E e, long timeout, TimeUnit unit)// 獲取但不移除此隊列的頭;如果此隊列為空,則返回 null。E peek()// 獲取并移除此隊列的頭,如果此隊列為空,則返回 null。E poll()// 獲取并移除此隊列的頭部,在指定的等待時間前等待可用的元素(如果有必要)。E poll(long timeout, TimeUnit unit)// 將指定的元素插入此隊列的尾部,如果該隊列已滿,則等待可用的空間。void put(E e)// 返回在無阻塞的理想情況下(不存在內(nèi)存或資源約束)此隊列能接受的其他元素數(shù)量。int remainingCapacity()// 從此隊列中移除指定元素的單個實例(如果存在)。boolean remove(Object o)// 返回此隊列中元素的數(shù)量。int size()// 獲取并移除此隊列的頭部,在元素變得可用之前一直等待(如果有必要)。E take()// 返回一個按適當(dāng)順序包含此隊列中所有元素的數(shù)組。Object[] toArray()// 返回一個按適當(dāng)順序包含此隊列中所有元素的數(shù)組;返回數(shù)組的運行時類型是指定數(shù)組的運行時類型。<T> T[] toArray(T[] a)// 返回此 collection 的字符串表示形式。String toString()2.peek方法實例

讀取隊列中隊首的元素,不會刪除該元素。

//獲取元素,元素不出隊public E peek() { //上鎖 final ReentrantLock lock = this.lock; lock.lock(); try { //調(diào)用itemAt方法獲取元素 return itemAt(takeIndex); // null when queue is empty } finally { //釋放鎖資源 lock.unlock(); } }3.ArrayBlockingQueue缺點

(1)隊列長度固定且必須在初始化時指定,所以使用之前一定要慎重考慮好容量;

(2)如果消費速度跟不上入隊速度,則會導(dǎo)致提供者線程一直阻塞,且越阻塞越多,非常危險;

(3)只使用了一個鎖來控制入隊出隊,效率較低

ArrayBlockingQueue用法擴(kuò)展:

1、ArrayBlockingQueue(int)

接收一個整型的參數(shù),這個整型參數(shù)指的是隊列的長度,其定義如下,

public ArrayBlockingQueue(int capacity) { this(capacity, false); }

可以看到這個方法調(diào)用的是ArrayBlockingQueue(int,boolean)方法,那么看下這個方法,

2、ArrayBlockingQueue(int,boolean)

接收兩個參數(shù),一個整型,一個boolean類型,前邊已經(jīng)知道整型參數(shù)是隊列的長度,那么boolean類型參數(shù)代表什么意思那,其定義如下,

public ArrayBlockingQueue(int capacity, boolean fair) { if (capacity <= 0) throw new IllegalArgumentException(); this.items = new Object[capacity]; lock = new ReentrantLock(fair); notEmpty = lock.newCondition(); notFull = lock.newCondition(); }

可以看到在這個構(gòu)造方法中進(jìn)行了相關(guān)邏輯實現(xiàn),對items進(jìn)行了數(shù)組初始化,boolean類型的參數(shù)是作為可重入鎖的參數(shù)進(jìn)行初始化,規(guī)定可重入鎖是公平還是不公平,默認(rèn)為false,另外初始化了notEmpty、notFull兩個信號量。

到此這篇關(guān)于java ArrayBlockingQueue的方法及缺點分析的文章就介紹到這了,更多相關(guān)java ArrayBlockingQueue的方法及不足點內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Java
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩av资源网| 久久精品国产网站| 国产日韩视频| 老牛国内精品亚洲成av人片 | 国产成人在线中文字幕| 日本国产精品| 国产aⅴ精品一区二区三区久久| 欧美精品不卡| 亚洲精品va| 亚洲乱码久久| 欧美日韩一区二区三区四区在线观看 | 亚洲福利久久| 一区二区三区四区在线看| 一区二区小说| 首页国产欧美久久| 欧美1区2区3| 日韩av二区| 亚洲激情婷婷| 亚洲精品在线国产| 日韩免费福利视频| 日本免费在线视频不卡一不卡二| 综合国产精品| 国产精品黄色片| 日韩毛片视频| 水蜜桃久久夜色精品一区的特点| 国产精品一级| 蜜臀va亚洲va欧美va天堂| 日韩激情中文字幕| 99在线|亚洲一区二区| 国产精品色在线网站| 红杏一区二区三区| 亚洲精品中文字幕乱码| 国产亚洲一区| 激情偷拍久久| 国产麻豆一区二区三区精品视频| 日韩在线中文| 日本va欧美va精品发布| 久久精品日韩欧美| 国产视频一区免费看| 久久精品国产亚洲一区二区三区| 在线一区欧美| 精品国产免费人成网站| 欧美成人精品午夜一区二区| 欧美成a人国产精品高清乱码在线观看片在线观看久| 欧美一区二区三区激情视频| 欧美日一区二区三区在线观看国产免 | 99久久婷婷| 日韩精品午夜视频| 美腿丝袜亚洲三区| 国产一区二区高清| 麻豆国产在线| 亚洲精品动态| 成人av二区| 亚洲香蕉网站| 最新国产精品久久久| 91一区二区三区四区| 一区二区三区国产在线| 亚洲精品在线影院| 国产日韩免费| 亚洲另类av| 成人亚洲精品| 欧美激情视频一区二区三区在线播放| 伊人久久一区| 婷婷综合社区| 91精品蜜臀一区二区三区在线| 久久成人福利| 欧美一区91| 日韩在线网址| 国产亚洲一级| 亚洲四虎影院| 在线天堂资源www在线污| 久久国产婷婷国产香蕉| 综合激情五月婷婷| 视频一区二区三区在线| 伊人精品在线| 黄色亚洲免费| 日韩av中文在线观看| 久久先锋影音| 亚洲精品无播放器在线播放| 久久精品播放| 日韩高清欧美| 电影91久久久| 精品久久一区| 精品视频网站| 国产66精品| 国产999精品在线观看| 麻豆视频一区二区| 国产精品久久久久久妇女| 青青在线精品| 日韩美女精品| 日韩精品中文字幕吗一区二区| 久久久久美女| 欧美精品黄色| 99视频精品| 久热精品在线| 亚洲精品黄色| 国产亚洲欧美日韩精品一区二区三区| 亚州国产精品| 日韩avvvv在线播放| 91九色综合| 国产精品啊v在线| 国产欧美69| 麻豆91小视频| 丝袜美腿诱惑一区二区三区 | 婷婷综合电影| 国产午夜精品一区在线观看| 国产精品视频一区二区三区四蜜臂 | 丝袜av一区| 国产极品模特精品一二| 国产精品porn| 成人免费一区| 久久精品亚洲人成影院| 亚洲精品1区2区| 亚洲欧美网站在线观看| 国产欧美日韩精品高清二区综合区 | 99视频在线精品国自产拍免费观看| 日韩中文字幕高清在线观看| 国产麻豆久久| 日本欧洲一区二区| 国产欧美丝祙| 高清一区二区三区av| 99精品网站| 亚洲精品国产精品粉嫩| 国产美女视频一区二区| 成人午夜亚洲| 99国产精品久久久久久久| 午夜精品福利影院| 久久a爱视频| 欧美日韩国产一区二区三区不卡| 亚洲视频二区| 国内在线观看一区二区三区| 国产一区二区中文| 综合在线一区| 日韩电影免费在线观看| 蜜臀av亚洲一区中文字幕| 国产九一精品| 蜜臀久久99精品久久一区二区| 国产亚洲综合精品| 美女视频黄久久| 日韩网站在线| 欧美a在线观看| 伊人影院久久| 久久精品一本| 麻豆成人在线| 国精品产品一区| 久久亚洲电影| 超碰99在线| 蜜臀av性久久久久蜜臀aⅴ四虎| 麻豆91在线播放| 午夜在线视频观看日韩17c| 国产精品白丝久久av网站| 国产精品88久久久久久| 国产精品最新自拍| av不卡在线| 成人精品高清在线视频| 日本vs亚洲vs韩国一区三区二区| 日本精品不卡| 国产欧美69| 日韩在线卡一卡二| 欧美13videosex性极品| 国产精品一线天粉嫩av| 9色精品在线| 成人午夜毛片| 国产一级成人av| 午夜一级在线看亚洲| 日韩中文影院| 麻豆精品99| 日本色综合中文字幕| 蜜桃国内精品久久久久软件9| 麻豆中文一区二区| 亚洲精品美女91| 怡红院精品视频在线观看极品| 日本久久综合| 国产精品毛片视频| 蜜臀a∨国产成人精品| 1000部精品久久久久久久久| 久久精品网址| 日韩二区三区在线观看| 免费在线观看视频一区| 久久国产亚洲精品| 日韩不卡一区| 久久三级中文| 美腿丝袜亚洲三区| 国产免费久久| 欧美日本不卡高清| 五月亚洲婷婷 | 五月亚洲婷婷 | 久久国产精品色av免费看| 视频一区二区中文字幕| 伊人影院久久| 国产一区日韩一区| 久久精品免费一区二区三区 | 精品国产99| 麻豆精品少妇| 国产精品一国产精品k频道56| 亚洲涩涩av| 水野朝阳av一区二区三区| 亚洲免费网址| 免费人成精品欧美精品| 亚洲一区二区毛片|