我很想知道是否可以像在其他线程中一样修改主线程的运行方法,我们重写运行方法并定义所需的行为。
我也可以知道我们在 main 方法中编写的代码是否真的被添加到主线程的 run 方法中,因为这是在主线程运行时执行的。
我很想知道是否可以像在其他线程中一样修改主线程的运行方法,我们重写运行方法并定义所需的行为。
我也可以知道我们在 main 方法中编写的代码是否真的被添加到主线程的 run 方法中,因为这是在主线程运行时执行的。
通常,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()
启动线程的方法。
不,您不能覆盖用于执行您的main()
方法的线程。该线程通过 JVM 魔法而存在,并且它的run()
方法永远不会被调用(更准确地说,它的start()
方法永远不会被调用;您可以在源代码中看到关于该效果的注释)。它的存在只是为了维护一个常规的线程模型(即,每个线程都可以调用Thread.currentThread()
并取回一些东西)。