Java 阻塞和同步队列

Posted 如幻行云

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 阻塞和同步队列相关的知识,希望对你有一定的参考价值。

1. 队列和栈

  队列:就像管道,排队在,先进先出(FIFO);

  栈:就像桶,先进后出。

2. 阻塞队列(BlockingQueue)

  A. 阻塞队列:由于队列有容量限制,故当队列元素已满时,新增加的元素必须等待,或当队列元素取出已空时,也会阻塞等待新的元素;

  B. ArrayBlockingQueue API的使用

方法 抛出异常 返回特殊值 一直阻塞 超时退出
插入 存 add -> java.lang.IllegalStateException offer -> false put offer(e, time)
移除 取 remove - > java.util.NoSuchElementException poll -> null take poll(e, time)
检查队首 element peek -> null - -

 

3. 同步队列

以上是关于Java 阻塞和同步队列的主要内容,如果未能解决你的问题,请参考以下文章

java同步阻塞队列之LinkedBlockingQueue实现原理,和ArrayBlockingQueue对比

java同步阻塞队列之SynchronousQueue

java同步阻塞队列之ArrayBlockingQueue实现原理

Java核心技术读书笔记10-2 阻塞队列线程安全集合类Callable与Future线程池与任务组同步框架

JUC并发编程--- 阻塞队列和同步队列使用

java中的锁——列队同步器