使用线程进行大量计算

时间:2013-12-04 05:18:48

标签: scala

我有一个具有指数运行时间的特定功能,应该在后台执行。

如果用户不希望等待结果,他应该可以通过按下按钮来取消计算。我不想保留这些计算中的任何内容。

由于我找不到取消计算的好方法,我将算法嵌入class扩展Thread中,并检查算法中的interrupt标志。

在我看来,这会破坏算法的“美感”,因为它现在只适用于此Thread类。

我对FuturesActors做了很多工作。是否有可能将它们用于此类问题?你会怎么做?提前谢谢。

1 个答案:

答案 0 :(得分:0)

This answer描述了终止可以应用于您的问题的Actor的方法。根据任务的性质,您可以简单地使用Kill和默认的管理员策略来停止所有处理,或者将处理分成较小的步骤,通过发送给自己的消息触发并使用PoisonPill。有关停止actor的更多信息,包括清理和重启的选项,here

相关问题