Java:Runtime.getRuntime()。exec()默认等待吗?

时间:2016-01-05 13:36:22

标签: java runtime.exec

我对Runtime.getRuntime()有疑问。 我正在运行以下代码。

public class TestMain {
public static void main(String[] args) {
    Runtime rs = Runtime.getRuntime();
    rs.exec("C:\\Windows\\System32\\sampleProgram.exe");
    rs.exec("C:\\Windows\\System32\\sampleProgram2.exe");
    rs.exec("C:\\Windows\\System32\\sampleProgram3.exe");
}
}

现在,如果sampleProgram需要更多时间来执行,控件是否会等待sampleProgram完成,或者它将转到sampleProgram2并将并行运行?请帮忙。

1 个答案:

答案 0 :(得分:5)

不,它不等。

但您可以等待它使用waitFor方法完成。

rs.exec("C:\\Windows\\System32\\sampleProgram3.exe").waitFor();

注意:如果您使用cmd start xxxxxx之类的命令,waitFor方法确实无法正常工作,因为start命令会启动给定的命令/另一个线程中的参数(这当然是一个特定于Windows的东西)。