5

我有以下 Java 代码:

public static void main(String[] args)
{
    new Thread(new MyRunnable()).run();
    showGUI();
}

我的问题是启动MyRunnable阻塞了主线程,导致showGUI在它完成运行之前不会被调用。我希望程序做的是生成MyRunnable并允许它在后台独立运行,使主线程忘记它并继续做它想做的事情(比如 call showGUI)。

4

2 回答 2

18

run在主线程上执行。start将创建一个新的线程执行并在该线程上执行它的 run 方法。

于 2012-04-21T06:45:39.080 回答
11

start()您应该在线程上调用方法,而不是run().

于 2012-04-21T06:44:19.160 回答