java - JVM等待线程多长时间

标签 java jvm

各位 JAVA 开发人员大家好, 我只是一个关于 JVM 的简单问题,我想知道 JVM 会等待线程多长时间? 例如,看一下这段代码:

public static void main(String[] args) {
 p = Runtime.getRuntime().exec("myShellCommand -p1 v1 -p2 v2");
 p.waitFor();
 System.out.println("End ....:)");
}

假设“myShellCommand”永远运行,那么会发生什么? JVM还在等待永远吗?

最佳答案

如果需要,waitFor 方法会导致当前线程等待,直到此 Process 对象表示的进程终止。如果子进程已经终止,则此方法立即返回。如果子进程尚未终止,则调用线程将被阻塞,直到子进程退出。(摘自 Javadoc )。

根据文档,我认为它将永远运行。

关于java - JVM等待线程多长时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22901131/

相关文章:

Java 计时器通过重绘加速

java - 获取字符串的具体值

java - 在 JPA 实体上查找声明的 java.util.Map 字段的泛型类型时出现 ClassNotFoundException (GlassFish 3)

java - 哪个 Java 数据对象用于多维范围匹配?

java - 停止启动画面到导航栏下方

java - 如何判断我是在 64 位 JVM 还是 32 位 JVM 中运行(从程序中)?

Java 似乎忽略了 -Xms 和 -Xmx 选项

scala - 为什么单例对象创建的scala程序不需要静态main方法?

.net - 根源是什么?

java - Java 中的多线程状态可见性 : is there a way to turn the JVM into the worst case scenario?