- 传统的集合框架(Collection实现的框架)的操作, 要么正常返回, 要么抛出异常
- BlockingQueue/BlockingDeque提供了一种[等待]的可能(与传统集合框架相比)
例子:BlockingQueue中
add()方法是直接放入队列, 如果容量可用, 返回成功; 如果容量不可以抛异常;
API:阻塞操作: put/take
put()方法是等待队列有可用空间, 再放入 , 而不会因为队列容量不足, 直接抛出异常, 该方法通常在多线程中使用;
take()方法, 如果队列是空的, 会一直等待队列中存在可用元素为止, 再进行remove;
- API:
阻塞操作: put/take - 使用BlockingQueue实现生产者消费者模型
网友评论