2012-02-06 13 views
5

Nếu trình xử lý được khởi tạo trong chuỗi giao diện người dùng chính, thì một bài đăng có Runnable có tạo một chuỗi con được thêm vào hàng đợi tin nhắn hay chỉ chạy trong chuỗi giao diện người dùng?Trình xử lý (postnable) có bắt đầu một chuỗi mới không?

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

Trả lời

11

Không, nó không tạo chủ đề mới. Nó chỉ đơn giản thực hiện Runnable của bạn trên thread xử lý của bạn được gắn vào, mà trong trường hợp này có nghĩa là thread UI của bạn

+0

Cảm ơn bạn Waqas. – xil3

0
handler.post(new Runnable()){ 

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

này không đảm bảo rằng nó sẽ tạo ra một thread.it mới sẽ chỉ gọi Runnable của thread trong đó trình xử lý được gắn vào (chuỗi giao diện người dùng tại đây).

Trình xử lý không tạo chủ đề mới, nó liên kết với looper của chuỗi được tạo trong (chủ đề chính trong trường hợp này), hoặc với một looper bạn đưa ra trong khi xây dựng.