Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/331.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_Spring_Design Patterns - Fatal编程技术网

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

Java 独立运行两个任务的最佳方式。,java,spring,design-patterns,Java,Spring,Design Patterns,独立运行两个代码块并在第三个代码块之前连接的最佳方法是什么 实际上,我正计划设计定制的基于java的工作流。 我的要求是独立运行两个进程,并在第三个进程中加入 我不想手动创建线程并加入它 非常感谢您的帮助。您正在使用java 8吗?非常方便: import static java.util.concurrent.CompletableFuture.allOf; import static java.util.concurrent.CompletableFuture.runAsync; ....

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

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

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

非常感谢您的帮助。

您正在使用java 8吗?非常方便:

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,您可能希望为runAsync提供一个执行器。

您能发布这两段代码吗?它们会产生值吗?我有一个文件。。。!第一个块是在s3上上传文件,第二个块是使用ssh将该文件复制到两个HDF上。我想创建一个抽象级别的设计,以决定任务是否异步运行或同步运行,并决定任务是否将等待所有以前的任务(基于某些标志)。您怎么可能独立运行这两个任务?正确。您有多少个网络连接?线程a连接到s3,线程b连接到您的两个hdfs系统。现在a和b的写入速度略低于串行操作时的一半(因为无法神奇地获得更多带宽)