本文翻译自http://tutorials.jenkov.com/java-util-concurrent/priorityblockingqueue.html,机翻加人工校正,仅供学习交流。
PriorityBlockingQueue
PriorityBlockingQueue类实现了BlockingQueue接口。阅读BlockingQueue文本以获得关于该接口的更多信息。PriorityBlockingQueue是一个*并发队列。它使用与java.util.PriorityQueue类相同的排序规则,不能将空插入此队列。所有插入到PriorityBlockingQueue中的元素都必须实现java.lang.Comparable接口,因此,这些元素根据您在Comparable 实现类中决定的优先级来排列自己。
PriorityBlockingQueue不强制具有相同优先级的元素执行任何特定行为。
如果你从PriorityBlockingQueue中获得了一个迭代器,迭代器不保证按优先级顺序迭代元素。
以下是如何使用PriorityBlockingQueue的示例:
BlockingQueue queue = new PriorityBlockingQueue();
//String implements java.lang.Comparable
queue.put("Value");
String value = queue.take();