2012-04-21 4 views
3

私は次のJavaコードがあります。Javaでメインスレッドをブロックしないバックグラウンドスレッドを開始するにはどうすればよいですか?

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

を私の問題は、それが実行して終了するまでshowGUIが呼び出されないために引き起こして、MyRunnableブロックにメインスレッドを開始するということです。私はのようにのプログラムは、MyRunnableを起動し、それがバックグラウンドで独立して実行できるようにして、メインスレッドがそれを忘れて先に進んで(showGUIのように)実行できるようにします。

答えて

9

runがメインスレッドで実行されます。 startは、新しいスレッドの実行を作成し、そのスレッドに対してrunメソッドを実行します。

+2

つまり、 'run'は単なる「通常のメソッド」であり、スレッドを開始しません。* –

5

run()ではなく、スレッドでメソッドstart()を呼び出す必要があります。

関連する問題