概述
queue/deque非并发容器意义不大,因为queue在工程实践中天生就是多个线程操作的,只有并发的queue才会被大量使用,例如在多线程任务执行框架excutors中,就大量使用了LinkedBlockingQueue等.
非并发容器框架如下:
queue和deque
queue是单项队列,改接口定义如下:
add()方法增加一个元素到队列尾,如果容器已经满了抛出一个异常,offer()方法增加一个元素到队列尾部,如果容器满了,返回false, offer方法更加友好。
deque是双向队列,可以从队列头部增加和删除元素,也可以从队列尾部增加和删除元素,其定义如下: