如何启动不阻塞Java主线程的后台线程?

时间:2012-04-21 06:42:44

标签: java multithreading concurrency blocking runnable

我有以下Java代码:

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

我的问题是,启动MyRunnable会阻塞主线程,导致showGUI在完成运行之前不会被调用。我要喜欢要执行的程序是spawn MyRunnable并允许它在后台独立运行,让主线程忘记它并继续前进并按照自己的意愿行事(比如打电话showGUI)。

2 个答案:

答案 0 :(得分:13)

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

答案 1 :(得分:7)

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