将创建主方法线程的位置

时间:2014-01-07 12:32:48

标签: java multithreading

您好我想知道main方法将如何以及在何处创建用于执行应用程序的线程。无论是扩展线程还是可运行。

3 个答案:

答案 0 :(得分:1)

这是一个很好的问题。当您执行应用程序时,JRE将为其创建一个线程。该线程将执行您的main()方法。它将在程序结束时完成。显然它应该是最后一个要结束的线程。它扩展了Thread类,可以使用like:

进行访问
class ThreadTest {
    public static void main(String [] args){

    Thread mainThread = Thread.currentThread();
    }
}

答案 1 :(得分:0)

主线程是在program.it中创建的第一个线程,由jvm。

创建

答案 2 :(得分:0)

  

我想知道main方法将如何以及在何处创建用于执行应用程序的线程。

没有。

实际发生的是某事创建main线程,然后main线程调用相关类中的public static void main(String[])方法。

这是如何发生的依赖于实现。如果您真的想了解详细信息,可以使用适用于Java 6,7& S的完整OpenJDK代码库。 8(测试版)可供下载。


  

是扩展线程还是可运行。

未指定主线程是Thread的实例还是Thread的子类。虽然Runnable 可以用于调用Runnable方法,但它不能(仅)成为main

但是,main方法可以找出主线程的实际类是什么,如下所示:

class Test {
    public static void main(String [] args){

         Thread t = Thread.currentThread();
         System.out.println("Main thread class is " + t.getClass());
    }
}