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

Reh*_*man 0 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");
}
}
Run Code Online (Sandbox Code Playgroud)

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

Rol*_*f ツ 5

不,它不等待.

但是你可以等待它完成使用该waitFor方法.

rs.exec("C:\\Windows\\System32\\sampleProgram3.exe").waitFor();
Run Code Online (Sandbox Code Playgroud)

注意:如果你使用像这样的命令cmd start xxxxxxwaitFor方法将没有真正的工作,因为start命令在另一个线程开始给定的命令/参数(这是课程一个窗口具体的事情).