java如何在PriorityBlockingQueue中添加毒丸?

How to add poison pill in PriorityBlockingQueue in java?

通常对于ArrayBlockingQueue我们会在finally块中添加毒丸,它会在队列的末尾。因此,无论何时我们将其取出,我们都可以确定是否排在队列末尾的毒丸。但是这里的 PriorityBlockingQueue 是靠自然排序的,那怎么处理毒丸呢?最佳做法是什么?

实现一个自定义 java.util.Comparator 来测试你的毒丸,当它找到它时总是 returns -1 然后将自定义比较器的一个实例传递给构造函数中的 PriorityBlockingQueue。