一、BlockingQueue抽象模型:
二、BlockingQueue的主要方法:
1)add、remove、element 在无法马上执行时,会抛出异常
2)offer、poll、peek 在无法马上执行时,会返回一个特殊的值
3)put、take 在无法马上执行时,会阻塞
4)offer、poll增加了超时机制,在超时之后会返回一个特殊的值
三、BlockingQueue的实现类
1)SynchronousQueue 同步队列,只能存放一个元素
2)DelayQueue 延迟队列
a) 关闭空闲连接。服务器中,有很多客户端的连接,空闲一段时间之后需要关闭之。
b) 缓存。缓存中的对象,超过了空闲时间,需要从缓存中移出。
c) 任务超时处理。在网络协议滑动窗口请求应答式交互时,处理超时未响应的请求。
3)PriorityBlockingQueue 优先级阻塞队列
4)ArrayBlockingQueue 有界队列,初始化时