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