zoukankan      html  css  js  c++  java
  • Queue

     

    常用的几种BlockingQueue:

    • ArrayBlockingQueue(int i):规定大小的BlockingQueue,其构造必须指定大小。其所含的对象是FIFO顺序排序的。

    • LinkedBlockingQueue()或者(int i):大小不固定的BlockingQueue,若其构造时指定大小,生成的BlockingQueue有大小限制,不指定大小,其大小有Integer.MAX_VALUE来决定。其所含的对象是FIFO顺序排序的。

    • PriorityBlockingQueue()或者(int i):类似于LinkedBlockingQueue,但是其所含对象的排序不是FIFO,而是依据对象的自然顺序或者构造函数的Comparator决定。

    • SynchronizedQueue():特殊的BlockingQueue,对其的操作必须是放和取交替完成。

    Queue常用方法

    • add         增加一个元索                      如果队列已满,则抛出一个IIIegaISlabEepeplian异常
    • remove   移除并返回队列头部的元素     如果队列为空,则抛出一个NoSuchElementException异常
    • element  返回队列头部的元素              如果队列为空,则抛出一个NoSuchElementException异常
    • offer       添加一个元素并返回true        如果队列已满,则返回false
    • poll         移除并返问队列头部的元素     如果队列为空,则返回null
    • peek       返回队列头部的元素              如果队列为空,则返回null
    • put         添加一个元素                       如果队列满,则阻塞
    • take        移除并返回队列头部的元素    

    java阻塞队列之ArrayBlockingQueue

    谈谈LinkedBlockingQueue

      LinkedBlockingQueue的优点是锁分离,很适合生产和消费频率差不多的场景,这样生产和消费互不干涉的执行,能达到不错的效率

    ArrayBlockingQueue跟LinkedBlockingQueue的区别

    java并发容器分析

    并发队列ConcurrentLinkedQueue和阻塞队列LinkedBlockingQueue用法

      BlockingQueue 接口实现的都是阻塞队列。而 ConcurrentLinkedQueue 是基于 CAS 和链表实现的无阻塞高性能队列。  

  • 相关阅读:
    python 网络爬虫(三)
    python 网络爬虫(二)
    python 网络爬虫(一)
    python 爬虫原理
    (转)栈的生长方向
    CRC校验
    extern关键字
    E
    The Super Powers UVA
    V
  • 原文地址:https://www.cnblogs.com/gogogofh/p/13262035.html
Copyright © 2011-2022 走看看