我有一个单线程池 ExecutorService 对象。在将来的某个时候,添加任务以使用 submit() 方法完成。我的理解是 submit 会将提交的 Runnable 添加到要完成的任务列表的末尾。但是,我有一种情况,基于布尔值,我可能希望将可运行文件提交到要执行的任务的前面。我不希望这影响当前的任务,只是下一个完成的任务将是我刚刚给它的那个。下面复制了一个示例方法。我该怎么做呢?
谢谢
private ExecutorService singleLoadPool = Executors.newSingleThreadExecutor();
public void submitTask(Runnable run, boolean doNow) {
if (doNow)
singleLoadPool.submitFront(run); // This is the method I'm looking for
else
singleLoadPool.submit(run);
}