最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java源碼解析阻塞隊列ArrayBlockingQueue功能簡介

 更新時間:2019年01月08日 09:35:12   作者:李燦輝  
今天小編就為大家分享一篇關于Java源碼解析阻塞隊列ArrayBlockingQueue功能簡介,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

本文基于jdk1.8進行分析。

阻塞隊列是java開發(fā)時常用的一個數據結構。首先看一下阻塞隊列的作用是什么。阻塞隊列的作用,從源碼中類的注釋中來了解,是最清晰準確的。

ArrayBlockingQueue是一個用數組實現的有界阻塞隊列。提供FIFO的功能。隊列頭上的元素是在隊列中呆了最長時間的元素,隊列尾上的元素是在隊列中呆了時間最短的元素。新元素會插入在隊列尾部,從隊列獲取元素時會從隊列頭上獲取。

這是一個傳統(tǒng)的有界隊列,在這個有界隊列里,一個固定大小的數組用來保存生產者產生的元素和消費者獲取的元素。一旦創(chuàng)建,大小不可改變。往已滿的隊列中嘗試添加元素,會阻塞操作。從空的隊列中獲取元素,也會阻塞操作。

這個類為等待中的生產著和消費者線程排序提供可選的公平策略。默認情況下,順序是沒有保證的。但是,一個用fairness=true創(chuàng)建的隊列可以保證FIFO特性。公平性通常會降低吞吐量,但是可以減少易變性并避免饑餓。

/**
 * A bounded {@linkplain BlockingQueue blocking queue} backed by an
 * array. This queue orders elements FIFO (first-in-first-out). The
 * <em>head</em> of the queue is that element that has been on the
 * queue the longest time. The <em>tail</em> of the queue is that
 * element that has been on the queue the shortest time. New elements
 * are inserted at the tail of the queue, and the queue retrieval
 * operations obtain elements at the head of the queue.
 * <p>This is a classic &quot;bounded buffer&quot;, in which a
 * fixed-sized array holds elements inserted by producers and
 * extracted by consumers. Once created, the capacity cannot be
 * changed. Attempts to {@code put} an element into a full queue
 * will result in the operation blocking; attempts to {@code take} an
 * element from an empty queue will similarly block.
 * <p>This class supports an optional fairness policy for ordering
 * waiting producer and consumer threads. By default, this ordering
 * is not guaranteed. However, a queue constructed with fairness set
 * to {@code true} grants threads access in FIFO order. Fairness
 * generally decreases throughput but reduces variability and avoids
 * starvation.
 * <p>This class and its iterator implement all of the
 * <em>optional</em> methods of the {@link Collection} and {@link
 * Iterator} interfaces.
 * <p>This class is a member of the
 * <a href="{@docRoot}/../technotes/guides/collections/index.html" rel="external nofollow" >
 * Java Collections Framework</a>.
 * @since 1.5
 * @author Doug Lea
 * @param <E> the type of elements held in this collection
 **/

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接

相關文章

  • Java超詳細講解三大特性之一的繼承

    Java超詳細講解三大特性之一的繼承

    繼承就是可以直接使用前輩的屬性和方法。自然界如果沒有繼承,那一切都是處于混沌狀態(tài)。多態(tài)是同一個行為具有多個不同表現形式或形態(tài)的能力。多態(tài)就是同一個接口,使用不同的實例而執(zhí)行不同操作
    2022-05-05
  • Java PDF 添加數字簽名的實現方法

    Java PDF 添加數字簽名的實現方法

    這篇文章主要介紹了Java PDF 添加數字簽名的實現方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-12-12
  • Dwr3.0純注解(純Java Code配置)配置與應用淺析三之后端反向調用前端

    Dwr3.0純注解(純Java Code配置)配置與應用淺析三之后端反向調用前端

    Dwr是為人所熟知的前端框架,其異步推送功能是為人所津津樂道的,下來主要研究一下它的這個功能是怎么應用的;
    2016-04-04
  • java提取json中某個數組的所有值方法

    java提取json中某個數組的所有值方法

    下面小編就為大家分享一篇java提取json中某個數組的所有值方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • springboot整合Mybatis-plus的實現

    springboot整合Mybatis-plus的實現

    這篇文章主要介紹了springboot整合Mybatis-plus的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • java實現俄羅斯方塊

    java實現俄羅斯方塊

    這篇文章主要為大家詳細介紹了java實現俄羅斯方塊,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • Feign 集成 Hystrix實現不同的調用接口不同的設置方式

    Feign 集成 Hystrix實現不同的調用接口不同的設置方式

    這篇文章主要介紹了Feign 集成 Hystrix實現不同的調用接口不同的設置方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • 一篇文章帶你理解Java Spring三級緩存和循環(huán)依賴

    一篇文章帶你理解Java Spring三級緩存和循環(huán)依賴

    這篇文章主要介紹了淺談Spring 解決循環(huán)依賴必須要三級緩存嗎,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-09-09
  • 解決@CachePut設置的key值無法與@CacheValue的值匹配問題

    解決@CachePut設置的key值無法與@CacheValue的值匹配問題

    這篇文章主要介紹了解決@CachePut設置的key的值無法與@CacheValue的值匹配問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • 為spring get請求添加自定義的參數處理操作(如下劃線轉駝峰)

    為spring get請求添加自定義的參數處理操作(如下劃線轉駝峰)

    這篇文章主要介紹了為spring get請求添加自定義的參數處理操作(如下劃線轉駝峰),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09

最新評論

阜南县| 论坛| 金门县| 嘉定区| 南华县| 疏附县| 弥勒县| 贡觉县| 广汉市| 布拖县| 平和县| 靖宇县| 驻马店市| 海伦市| 浦东新区| 永登县| 丹江口市| 呼和浩特市| 于都县| 章丘市| 巴东县| 瑞安市| 遵义市| 锡林浩特市| 盐亭县| 城固县| 南康市| 德钦县| 连江县| 田阳县| 龙里县| 疏附县| 江北区| 德化县| 泰州市| 武汉市| 甘南县| 托克逊县| 广饶县| 武夷山市| 宜兴市|