在 JAVAFX 中按给定顺序 运行 顺序后台任务的推荐方法

Recommended way to run sequential background Tasks in JAVAFX in given order

由于我模块化代码的方式,我有几个后台(非 JAVAFX)任务,我希望从我的 JAVAFX 控制器按指定顺序顺序执行。我希望下一个任务在上一个任务完成后尽快开始。我搜索了示例,但我认为它们不能保证踏板会按指定顺序执行。我也知道我通常不应该尝试让 FX 线程等待或循环来检查任务的进度,以免 GUI 冻结。作为初学者,我不知道如何实现我的目标。假设我有这些任务:task1、task2、task3。关于如何 运行 task1,然后是 task2,然后是 task3 的任何一般性建议?

创建单线程执行器来执行任务:

ExecutorService exec = Exectors.newSingleThreadExecutor();

您可能希望将其作为创建任务的 class 中的实例变量。

然后就这样做:

Task<Something> task1 = ... ;
Task<Something> task2 = ... ;
Task<Something> task3 = ... ;

exec.submit(task1);
exec.submit(task2);
exec.submit(task3);