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同步阻塞队列之ArrayBlockingQueue实现原理