Java多线程 - Block Queue阻塞队列
接口特点:
- 队列空时,获取阻塞
- 队列满时,添加阻塞
| 方法类型 | 抛出异常 | 特殊值 | 阻塞 | 超时 |
|---|---|---|---|---|
| 插入 | add(e) | offer(e) :boolean | put(e) | offer(e,time,unit) :boolean |
| 移除 | remove() | poll() :null | take() | poll(time,unit) :null |
| 检查 | element() | paek() | 不可用 | 不可用 |
实现类:
- ✨
ArrayBlockingQueue(int capacity):由数组结构组成的有界阻塞队列(给定大小) - ✨
LinkedBlockingQueue(int capacity):由链表结构组成的有界阻塞队列,默认大小为Integer.MAX_VALUE DelayQueue(Collection<? extends E> c):使用优先级队列实现的延迟无界阻塞队列
小结:在多线程领域,所谓阻塞,在某些情况下会挂起线程(即阻塞),一旦条件满足被挂起的线程又会自动被唤起。
上次更新: 2022/12/31, 03:04:26