2012-02-06 17 views
5

メインUIスレッドでハンドラがインスタンス化されている場合、Runnableを持つポストはメッセージキューに追加される子スレッドを作成するのですか、UIスレッドで実行されるだけですか?handler.post(runnable)は新しいスレッドを開始しますか?

handler.post(new Runnable(){ 
    public void run() { 
     // do stuff 
    } 
}); 

答えて

11

いいえ、新しいスレッドは作成されません。それは単にあなたのハンドラが接続されているスレッド上で、あなたの実行可能を実行し、この場合には、あなたのUIスレッド

+0

ありがとうWaqas。 – xil3

0
handler.post(new Runnable()){ 

public void run(){ 
//do something 
} 
}); 

を意味し、これはそれが新しいthread.itを作成することを保証するものではないだけで、スレッドの実行可能なを呼び出しますハンドラが(UIスレッドここに)添付されます。

ハンドラは新しいスレッドを作成せず、作成されたスレッド(この場合はメインスレッド)または構築中に与えられたルーパにバインドします。

関連する問題