美文网首页
FAQ-BlockingQueue

FAQ-BlockingQueue

作者: afewnotes | 来源:发表于2018-08-20 21:10 被阅读0次
  • BlockingQueue
    • 阻塞队列接口,多用于生产者消费者场景,解决多线程中数据传输的问题

    • 队列非空才能取出元素,队列有空闲空间才能放入元素,否则等待

    • Summary of BlockingQueue methods (from jdk source code)

      op Throws exception Special value ( null or false) Blocks Times out
      Insert add(e) offer(e) put(e) offer(e, time, unit)
      Remove remove() poll() take() poll(time, unit)
      Examine element() peek() not applicable not applicable
    • 不接受 null 元素

    • 容量可限制,未限制时为 Integer.MAX_VALUE

    • 实现类


      blocking queue diagram
      • 实现类都是线程安全的(例外,批量操作如 addAll, containsAll, retainAllremoveAll 可能出现部分成功的情况)
    • java.util.concurrent.ThreadPoolExecutor 线程池使用的就是阻塞队列处理任务

相关文章

  • FAQ-BlockingQueue

    BlockingQueue阻塞队列接口,多用于生产者消费者场景,解决多线程中数据传输的问题队列非空才能取出元素,队...

网友评论

      本文标题:FAQ-BlockingQueue

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