欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

如何在java項目中使用ArrayBlockingQueue方法-創(chuàng)新互聯(lián)

今天就跟大家聊聊有關(guān)如何在java項目中使用ArrayBlockingQueue方法,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

創(chuàng)新互聯(lián)建站主要從事成都做網(wǎng)站、網(wǎng)站建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)集寧,10余年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18982081108

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ù)組的運(yùn)行時類型是指定數(shù)組的運(yùn)行時類型。
<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兩個信號量。

看完上述內(nèi)容,你們對如何在java項目中使用ArrayBlockingQueue方法有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。

名稱欄目:如何在java項目中使用ArrayBlockingQueue方法-創(chuàng)新互聯(lián)
轉(zhuǎn)載注明:http://aaarwkj.com/article2/codeic.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航企業(yè)網(wǎng)站制作、網(wǎng)站設(shè)計、網(wǎng)站排名云服務(wù)器、網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)
亚洲伦理av在线观看| 最美是你免费视频观看| 亚洲无人区码一码二码三码| 日本在线一区二区三区免费视频 | 亚洲区自拍偷拍一区二区| 国产高潮呻吟久久av| 日本女优中文字幕久久| 亚洲少妇午夜福利视频| 国内精品自拍亚洲视频| 中文字幕人妻在线播放| 日本午夜在线观看视频| 中文字幕在线精品乱码麻豆| 久草福利视频免费播放| 尤物天堂av一区二区| 欧美美女福利午夜视频| 中文字幕精品一区二区三区在线| 欧美亚洲国产另类第一页| 免费av不卡一区二区| 青青草原一区在线观看| 日韩成人免费观看视频| 91激情黑丝在线观看| 人妻系列少妇人妻偷人| 伊人久久精品一区二区| 国产三级黄色大片在线免费看| 国产一区国产二区中文字幕| 一区二区日韩欧美国产| 亚洲国产日朝欧美综合久久| 蜜臀视频一区二区在线播放| 十八女毛片一区二区三区| 国产高清视频在线观看流白浆| 国产精品自拍激情在线观看| 国产视频一区二区麻豆| 国产三级三级精品久久| 国产精品v一区二区三区| 亚洲精品一级黄色片| 国产丝袜美腿诱惑久久| 日韩激情小视频在线观看| 日韩国产在线一区二区| 国产老熟女高潮视频| 久久国产欧美日韩精品| 日本成熟亚洲中文字幕的|