2012-01-10 11 views
0

これは動作しますが:AsyncTaskのdoInbackground()で新しいスレッドを呼び出すことができないのはなぜですか?

new Thread(new Classimplementingrunnable(stuff, dostuff()).start(); 

これはないだろう:「私は、スレッド内だ」エラーが発生していない

new Thread(){ 
    public void run(){ 
     Log.i("tag", "I am inside thread"); 
     dostuff(); 
    } 
}; 

、それはちょうどそれを無視し、それが別のスレッドを開始文句を言わない、そうでしょう表示されません。

+4

後者の場合でも '' start() ''を呼び出します。しかし、Thread.run()をオーバーロードするのではなく、常にThread a Runnableを渡す方が良いでしょう。 – harism

答えて

2

実行するには、スレッドインオーダーでstart()メソッドを呼び出す必要があります。

new Thread(){ 
    @Override 
    public void run(){ 
     Log.i("tag", "I am inside thread"); 
     dostuff(); 
    } 
}.start(); 
+0

あなたは絶対に正しいですが、私はそれを見ることができませんでした、恥ずかしいです。あまりにも疲れていると思います。私はこの問題をもっと深く考えなければなりませんでした。 – Miky

関連する問題