30/09/2018, 18:52

Cách sử dụng Handler và Thread, sự khác nhau giữa chúng?

Mình đang nghiên cứu android mà tới đoàn handler với thread thì chỉ hiểu mang máng không thể hiểu cặn kẽ được.mình xin hỏi mọi người là cách sử dụng của hai thằng này có gì khác nhau và công dụng của handler và thread .thank everybody

X viết 20:57 ngày 30/09/2018

Đọc ở đây nhé:

stackoverflow.com
abat

What is the difference between a Thread and a Handler

android, multithreading, handler
asked by abat on 06:49PM - 24 Feb 12

Quân viết 20:52 ngày 30/09/2018

Thread, đúng như tên gọi, nó chính là tạo 1 luồng xử lí mới chạy song song với luồng hiện tại. Đây là base class cho các class khác có chức năng tương tự.
Handler là 1 đối tượng gắn với 1 instance message queue của 1 thread nào đấy. Các thread implement message queue (Looper) của android thì nó sẽ là 1 vòng lặp vô hạn, get từng message và xử lí tương ứng. Đối với main thread hay còn gọi là UI thread thì ta có sẵn message queue này rồi. Nên khi ta post 1 runnable, send 1 message thì có nghĩa ta đã gắn 1 message vào queue của main thread, khi main thread gặp message này thì sẽ xử lí tương ứng thôi. Còn bạn muốn thread của bạn dùng được handler này giống như Main thread thì phải new Handler() ở giữa cặp câu lệnh.

run(){
    Looper.prepared();
    handler = new Handler();
    Looper.loop();
}

khi này bạn chỉ cần sử dụng instance handler bằng các method như handler.post(); handler.sendMesssage() thì nó sẽ chạy trên thread bạn tự định nghĩa chứ k phải main thread nữa

Bài liên quan
0