本文翻译自http://tutorials.jenkov.com/java-concurrency/race-conditions-and-critical-sections.html,人工翻译,仅供学习交流。
LinkedBlockingDeque
链表阻塞双向队列实现阻塞双向队列接口,阅读阻塞双向队列文章获取更多内容。
deque是双向队列的缩写,你可以插入和删除元素从双向队列的任意一端。
当链表阻塞双向队列为空时,如果一个线程从其内部获取元素,无论从哪一端尝试获取元素,线程都将会阻塞。
下面是如何实例化并实用LinkedBlockingDeque:
BlockingDeque<String> deque = new LinkedBlockingDeque<String>();
deque.addFirst("1");
deque.addLast("2");
String two = deque.takeLast();
String one = deque.takeFirst();