美文网首页
BlockingQueue 阻塞队列

BlockingQueue 阻塞队列

作者: 喏喏2021 | 来源:发表于2022-02-13 23:05 被阅读0次

1. 背景

阻塞队列是在我们的并发包中,可以帮助我们高效安全地传输数据,为我们写出高质量的多线程程序带来便利。

2. 主要方法

我们可以看一下定义和主要方法:


定义和主要方法.png

主要方法含义:
1)boolean add(E e)
添加元素,成功返回true,失败抛出异常
2)boolean offer(E e)
添加元素,成功返回true,失败返回false,e不能为空
3)void put(E e) throws InterruptedException
添加元素,如果已满,该方法会一直阻塞,直到有可用的空间
4)boolean offer(E e,long timeout,TimeUnit unit) throws InterruptedException
添加元素,指定时间内,成功返回true,失败返回false
5)E take() throws InterruptedException
获取元素,没有元素会一直阻塞,直到有值,并取得该值
6)E poll(long timeout,TimeUnit unit)
获取元素,指定时间内,取不到会抛出异常
7)int remainingCapacity()
获取队列剩余大小
8)boolean remove(Object o)
从队列移除指定的值
9)public boolean contains(Object o)
队列中是否包含某值
10)int drainTo(Collection<? super E> c);
将队列中值设置到集合中,并将队列中全部移除

  1. int drainTo(Collection<? super E> c,int maxElements)
    将队列中指定数量值,设置到集合中,并移除

相关文章

  • 26. 并发终结之BlockingQueue

    线程池里面最重要的还有个并发容器,即阻塞队列BlockingQueue。BlockingQueue是阻塞队列的接口...

  • 阻塞队列 BlockingQueue

    阻塞队列 BlockingQueue BlockingQueue用法 BlockingQueue 通常用于一个线...

  • Java并发编程:阻塞队列

    Java并发编程:阻塞队列BlockingQueue 以上7类阻塞队列中有LinkedBlockingQueue,...

  • 探讨阻塞队列和线程池源码

    阻塞队列 非阻塞队列是一个先进先出的单向队列(Queue),而BlockingQueue阻塞队列实际是非阻塞队列的...

  • Android中的线程与线程池

    阻塞队列BlockingQueue 阻塞队列常用于生产者——消费者模型,生产者往阻塞队列插入数据,消费者往阻塞队列...

  • 阻塞队列

    BlockingQueue线程池的数据结构是阻塞队列BlockingQueue。(在多线程领域:所谓阻塞,在某些情...

  • Java并发-22.阻塞队列

    阻塞队列(BlockingQueue)是一种支持两个附加操作的队列: 支持阻塞的插入:队列满时,队列阻塞插入元素的...

  • 阻塞队列

    阻塞队列BlockingQueue不支持插入null元素,好好了解一下阻塞队列接口设计。 了解阻塞队列的接口方法后...

  • Java并发包之BlockingQueue

    一、什么是BlockingQueue BlockingQueue即阻塞队列,从阻塞这个词可以看出,在某些情况下对阻...

  • 19-阻塞队列之ArrayBlockingQueue

    Java中的阻塞队列 什么是阻塞队列 阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附...

网友评论

      本文标题:BlockingQueue 阻塞队列

      本文链接:https://www.haomeiwen.com/subject/gqahlrtx.html