Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Multithreading 播放/Akka-如果我的计划任务在关机时正在进行,会发生什么情况?_Multithreading_Scala_Playframework_Playframework 2.0_Akka - Fatal编程技术网

Multithreading 播放/Akka-如果我的计划任务在关机时正在进行,会发生什么情况?

Multithreading 播放/Akka-如果我的计划任务在关机时正在进行,会发生什么情况?,multithreading,scala,playframework,playframework-2.0,akka,Multithreading,Scala,Playframework,Playframework 2.0,Akka,我正在用Akka使用Runnable界面安排一个长时间运行的任务,如下所示: val myTask = system.scheduler.schedule(initialDelay, interval, new MyRunnable()) 播放关闭时线程会发生什么情况?我可以看到runnable中的代码停止执行,但我不清楚线程在什么时候被中断,以及如何在runnable中钩住这个事件。我曾尝试在runnable中捕获InterruptedException(或任何其他),但从未抛出异常。优雅地

我正在用Akka使用Runnable界面安排一个长时间运行的任务,如下所示:

val myTask = system.scheduler.schedule(initialDelay, interval, new MyRunnable())

播放关闭时线程会发生什么情况?我可以看到runnable中的代码停止执行,但我不清楚线程在什么时候被中断,以及如何在runnable中钩住这个事件。我曾尝试在runnable中捕获InterruptedException(或任何其他),但从未抛出异常。优雅地取消线程的最佳方式是什么?我可以对我的任务调用cancel,但这只会取消下一次计划的执行。我曾考虑将lifecycle对象传递给MyRunnable,以便它可以创建一个停止钩子,但我不确定这是最好的方法。

只是好奇,但为什么你要明确地安排任务,而不是让Akka为你处理所有这些?我认为这是不可能的。