【发布时间】:2019-07-24 09:33:32
【问题描述】:
我需要一个线程池,它可以接收要插入到队列后面(像往常一样)或队列前面(用于优先任务)的任务。然后应该正常执行任务,从队列的头部轮询。
我意识到这意味着使用BlockingDeque 创建我自己的ThreadPoolExecutor,但这还不够……我如何真正告诉线程池调用队列的offerFirst 方法而不是offer?
【问题讨论】:
-
您能分享您为此编写的任何代码吗?这将有助于进行编辑以使您步入正轨
-
也许您可以选择使用自定义 Comparator 和 BlockingQueue?像 BlockingQueue
queue=new PriorityBlockingQueue (2,new CustomTaskComparator());然后在 CustomTaskComparator 中有 compareTo(Task a, Task b)?
标签: java threadpoolexecutor deque