有界的PriorityBlockingQueue

PriorityBlockingQueue是不受限制的,但我需要以某种方式进行限制。最好的方法是什么?

有关信息,有界PriorityBlockingQueue将被用ThreadPoolExecutor

注意:如果发生这种情况,我不想抛出异常,我想将对象放入队列,然后根据其优先级值将其剪切。有什么好办法可以做到这一点吗?

回答:

我实际上不会继承它。尽管我现在无法将示例代码放在一起,但我建议使用装饰器模式的版本。

创建一个新类并实现您感兴趣的类实现的接口:PriorityBlockingQueue。我发现该类使用了以下接口:

Serializable, Iterable<E>, Collection<E>, BlockingQueue<E>, Queue<E>

在类的构造函数中,接受a PriorityBlockingQueue作为构造函数参数。

然后通过的实例实现接口所需的所有方法PriorityblockingQueue。添加使它有界所需的任何代码。这是装饰器模式的相当标准的实现。

以上是 有界的PriorityBlockingQueue 的全部内容, 来源链接: utcz.com/qa/414912.html

回到顶部