【问题标题】:Configure a threadpool for scheduling tasks and their cancellations also为调度任务及其取消配置线程池
【发布时间】:2018-12-27 09:10:13
【问题描述】:

在我们当前的服务架构中,我们有一个调度线程池,用于执行一些计算任务(用于实时数据收集)。这些任务是有时间限制的,所以如果它们没有在设定的时间内完成,它们会被调度取消任务打断,这些取消任务与原始任务一起提交。我们看到的问题是取消并不总是准时,并且某些任务可能需要比预期更长的时间才能取消。

据我说,这可能是因为我们使用了一个公共线程池,有时取消任务没有按时完成。但我不确定这一点。有没有办法确认这一点,或者找到取消延迟的实际原因?

【问题讨论】:

  • IIUC,你可以使用调度器来取消任务,但是你需要自己在任务中通过定期检查isCancelled来实现实际的取消。
  • 是的,这完全取决于您的任务对中断的反应

标签: java multithreading threadpool java-threads


【解决方案1】:

- 它们被调度取消任务打断

您已经安排了一个任务来中断预定线程池上的原始任务?

如果是这样,我认为调度的线程池保证在延迟期间至少等待。即不能保证它会在延迟期之后运行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多