gpt4 book ai didi

java - ScheduledExecutorService 的重新调度

转载 作者:行者123 更新时间:2023-12-01 15:32:39 25 4
gpt4 key购买 nike

以下代码是从 JMenuItem 的 ActionListener 调用的。它只是启动一个 jar 文件。

ScheduledExecutorService schedulerExecutor = Executors.newScheduledThreadPool(2);
Callable<Process> callable = new Callable<Process>() {

@Override
public Process call() throws Exception {
Process p = Runtime.getRuntime().exec("cmd /c start java -jar D:\\MovieLibrary.jar");
return p;
}
};
FutureTask<Process> futureTask = new FutureTask<Process>(callable);
schedulerExecutor.submit(futureTask);
schedulerExecutor.shutdown();

System.exit(0);

但问题是,它只执行一次。不重复。这意味着 Process p = Runtime.getRuntime().exec("cmd/c start java -jar D:\\MovieLibrary.jar"); 不会被第二次调用。

我怎样才能向右走?

任何建议都是值得赞赏的。提前致谢。

最佳答案

newScheduledThreadPool(2) 并不意味着线程运行两次。这是泳池的大小。如果您想第二次运行任务,请“提交”任务两次。

schedulerExecutor.submit(futureTask);
schedulerExecutor.submit(futureTask);

关于java - ScheduledExecutorService 的重新调度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9392346/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com