-1

我很想知道是否可以像在其他线程中一样修改主线程的运行方法,我们重写运行方法并定义所需的行为。

我也可以知道我们在 main 方法中编写的代码是否真的被添加到主线程的 run 方法中,因为这是在主线程运行时执行的。

4

2 回答 2

0

通常,main 方法在整个应用程序生命周期中都不会使用。您只需使用它来初始化和运行其他线程,然后让它终止:

class Main {
  public static void main(String[] args) {
    new firstThreadImplementation().start();
    // new secondThreadImplementation().start();
    new initGuiThread().start();
    // we are finished here and don't need this thread anymore
  }
}

所以你可以直接控制run()启动线程的方法。

于 2012-09-06T19:14:41.360 回答
0

不,您不能覆盖用于执行您的main()方法的线程。该线程通过 JVM 魔法而存在,并且它的run()方法永远不会被调用(更准确地说,它的start()方法永远不会被调用;您可以在源代码中看到关于该效果的注释)。它的存在只是为了维护一个常规的线程模型(即,每个线程都可以调用Thread.currentThread()并取回一些东西)。

于 2012-09-06T19:45:12.827 回答