希望ThreadPoolExecutor立即执行任务

问题描述 投票:1回答:3

[我有一个带有线程的ThreadPoolExecutor,该线程将用于批处理,因此在将新任务分配给执行者之前,我必须等待较早的任务完成,这是通过根据活动作业的值来完成的,但仔细查看后发现,执行器不会立即执行任务。

这给我造成的问题是我准备下一批,但第一个任务尚未开始,因此活动作业的值为0。

我如何立即运行任务。我也同意其他任何执行者或可以做到这一点的方式。

java executorservice threadpoolexecutor
3个回答
2
投票
您可能应该使用submit中的ExecutorService方法来安排任务。这是一个使用单线程执行程序运行10个任务的工作程序。我强制转换为ThreadPoolExecutor来监视线程池状态。您可以通过在相应的get实例上调用Future来等待单个任务,或者通过调用awaitTermination来等待所有任务。如果不需要Future的结果,请使用Void。希望对您有所帮助。

0
投票
如果仅执行一个线程,则在执行完线程后,仅使用LinkedQueue来存储作业,然后只有它会选择另一个任务。

0
投票
单线程池执行器服务
© www.soinside.com 2019 - 2024. All rights reserved.