【发布时间】:2011-11-16 23:28:20
【问题描述】:
我读了这个声明:
主线程必须是完成执行的最后一个线程。当主线程停止时,程序终止。
是真的吗?
我也知道了“即使主线程死了,程序也会继续运行”。
这是我目前的理解:
- 当您启动一个程序时,JVM 会创建一个线程来运行您的程序。
- JVM 创建一个用户线程来运行程序。该线程称为主线程。
- 类的
main方法是从主线程调用的。 - 如果程序从主线程产生新线程,程序会一直等待,直到最后一个线程终止。
哪一个是真的?
【问题讨论】:
-
你能提供这些报价的链接吗?
-
@Steve:它们似乎来自一些相对晦涩的 Java 常见问题解答。您在 Google 上的第一条报价获得大约 50 次准确点击。
-
根据this post,它来自 Java2:完整参考(第 11 章,第 277 页,倒数第二行)。
标签: java multithreading jvm