java main方法是一个线程吗?

时间:2014-02-26 19:16:02

标签: java multithreading main

我想知道Java main方法是否是一个线程。我注意到,如果main方法返回,则所有线程都被终止。你能解释一下为什么会这样吗? 提前谢谢。

3 个答案:

答案 0 :(得分:3)

实际上main方法在主线程上运行! main threads invokes your main()

java应用程序的所有其他线程都是从这个线程生成的!

答案 1 :(得分:1)

当您启动应用程序时,操作系统会为您创建一个主线程(或其他上下文中的UI线程)的线程。

此线程只运行您的main方法并停止。 无论如何,有两种类型的线程。

  • 用户主题
  • 守护程序线程

main threadUser thread。 所有用户线程完成后,JVM将停止。

嗯,这只是一个“快速响应”,我很有用,你可以在这里找到更好的答案。

答案 2 :(得分:0)

是的,main方法在主线程上运行。但它仍然像任何其他用户线程一样。

还有守护程序线程,当所有其他用户线程都停止运行时,它会停止。

主线程还负责生成程序员在程序中创建的其他线程,这些线程又可以生成其他线程等等。

并不是当main方法返回所有线程时被杀死。一个原因可能是因为main是一个void方法,它不能返回任何东西。 :D

但是,如果你产生一个或多个运行很长时间的用户线程,并且你的join()方法中没有使用main方法,那么即使主方法结束,如果其run()方法尚未停止执行,则其他线程仍会运行。