独立运行两个任务的最佳方式。

时间:2014-11-17 06:41:44

标签: java spring design-patterns

独立运行两个代码块并在第三个块之前连接的最佳方法是什么。

实际上我计划设计基于java的自定义工作流程。 我的要求是独立运行两个流程并在第三个流程中加入。

我不想手动创建线程并加入它。

感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

您使用的是java 8吗? CompletableFuture非常方便:

import static java.util.concurrent.CompletableFuture.allOf;
import static java.util.concurrent.CompletableFuture.runAsync;

....


allOf(
        runAsync(() -> {
            // do first thing
        }),
        runAsync(() -> {
            // do second thing
        })
).join();
// do third thing

当然,有很多选择。首先,如果你在做IO,你可能想要提供一个执行者来运行Async。