有一系列事件由昂贵的算法处理,该算法执行很长时间。除了最后一次(每时每刻)之外的所有事件的结果都没有意义。我想处理一个事件,每次新事件到达时异步中断先前事件的处理。
有没有好的模式或技巧可以这样做?
我考虑过:
我倾向于选择具有自定义可中断tasklet(尚未设计)的池。 Scala有更好的选择吗?如果不是我应该如何实现我的tasklet?
答案 0 :(得分:0)
我唯一可以建议的是使用Java期货并在Java未来上调用cancel
。然后,您需要处理InterruptedException
(用于阻止操作)并定期检查Thread.isInterrupted
(用于计算密集型操作)。我猜你已经知道了。