What is the difference between a Thread and a Handler

前端 未结 3 1177
故里飘歌
故里飘歌 2021-02-05 07:08

I\'m trying to find out the difference between a thread and a handler. Does creating a new handler create a new thread?. When a new handler is run using post(), is it creating a

3条回答
  •  日久生厌
    2021-02-05 07:31

    Threads are generic processing tasks that can do most things, but one thing they cannot do is update the UI.

    Handlers on the other hand are bound to threads that allow you to communicate with the UI thread (update the UI).

    So for example show a toast or a update a progress bar via a message (Runnable) posted to a handler but you can't if you start this runnable as a thread.

    With handler you can also have things like MessageQueuing, scheduling and repeating.

    I am yet to encounter a situation where I needed a thread in android.

    I mostly use a combination of AsyncTasks and Handlers.

    Handlers for the aforementioned tasks.

    AsyncTasks for download/ data fetching and polling etc.

    You can read the developer article here "Painless Threading" for more threading in android.

    Correction: Each Handler instance is associated with a single thread and that thread's message queue. They are not threads in their own behalf. as described here.

提交回复
热议问题