[英]How to cancel a particular task by timeout when using ThreadPoolExecutor in Java?
我在Java中使用ThreadPoolExecutor并行化项目处理。 每个项目处理都是一个单独的任务,我将其放在队列中供执行者处理。 不幸的是,某些任务可能花费太长时间,我希望能够取消此类任务并继续执行其他任务。 我不想等待关机方法及其超时(整个处理过程需要几天)。 我想要类似循环执行当前执行的任务,检查其运行时间并在超出限制时将其取消的操作。
当您向ThreadPoolExecutor提交任务时,它将返回Future对象。
在期货上使用get(long timeout,TimeUnit unit)方法,如果获得TimeoutException,则对它们调用cancel。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.