Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.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
Java 计划任务使应用程序保持活动状态_Java_Multithreading - Fatal编程技术网

Java 计划任务使应用程序保持活动状态

Java 计划任务使应用程序保持活动状态,java,multithreading,Java,Multithreading,我有一个用javafx制作的应用程序,它使用scheduledFuture=scheduledExecutorService.scheduleAtFixedRate(runnable,initialDelay,24*60*60*1000,TimeUnit.ms)安排一个runnable每天运行 即使我使用scheduledFuture.cancel(true)取消此任务,我的应用程序在用户关闭后仍在后台保持活动状态 我敢肯定,这种调度是使应用程序保持活动状态的唯一方法。如果我没有安排它,应用程序

我有一个用javafx制作的应用程序,它使用
scheduledFuture=scheduledExecutorService.scheduleAtFixedRate(runnable,initialDelay,24*60*60*1000,TimeUnit.ms)安排一个runnable每天运行

即使我使用
scheduledFuture.cancel(true)
取消此任务,我的应用程序在用户关闭后仍在后台保持活动状态

我敢肯定,这种调度是使应用程序保持活动状态的唯一方法。如果我没有安排它,应用程序将正常关闭。

调用
scheduledExecutorService
允许程序正常关闭

scheduledExecutorService.shutdown();
根据javadocs

启动有序关机,在此过程中执行以前提交的任务


调用只会取消任务,使executor服务保持活动状态,
shutdown()
也会杀死executor服务,从而允许程序退出。

我自己没有使用过它,只是通过api进行了挖掘。尝试在ScheduledExecutorService上调用shutdown确实,这有效=)。谢谢我忘记了scheduledExcutorService本身,没想到它会让应用程序保持活力。。。那么,仅仅取消这些任务是不够的。它需要线程来管理其他任务。快速阅读api后,我想到了这一点。为了方便别人,我贴了一个答案。