BlockingQueue是阻塞队列,继承Queue,在Queue的基础上添加了阻塞接口,实现阻塞功能。
- BlockingQueue类图
BlockingQueue类图
- BlockingQueue接口方法
BlockingQueue接口方法
其中,offer(e, timeout, unit)
和poll(timeout, unit)
为超时方法,put
和take
为阻塞方法,
抛异常 | 不抛异常 | 超时 | 阻塞 | |
---|---|---|---|---|
队尾添加 | add | offer | offer(e, timeout, unit) | put |
队首删除获取 | remove | take | poll(timeout, unit) | poll |
队首获取 | element | peek |
总结 BlockingQueue作为ArrayBlockingQueue、LinkedBlockingQueue的接口定义,从Collection拓展到Queue,再到BlockingQueue,一步一步的实现阻塞队列,将这些知识点梳理通之后再学习阻塞队列就水到渠成了。