我有以下Java代码:
public static void main(String[] args)
{
new Thread(new MyRunnable()).run();
showGUI();
}
我的问题是,启动MyRunnable
会阻塞主线程,导致showGUI
在完成运行之前不会被调用。我要喜欢要执行的程序是spawn MyRunnable
并允许它在后台独立运行,让主线程忘记它并继续前进并按照自己的意愿行事(比如打电话showGUI
)。
答案 0 :(得分:13)
run
在主线程上执行。 start
将创建一个新的线程执行并在该线程上执行它的run方法。
答案 1 :(得分:7)
您应该在线程上调用方法start()
,而不是run()
。