В чем разница, когда класс расширяется от Handler и Thread? (В рамках Android) - PullRequest
1 голос
/ 18 марта 2010

Чем отличается расширение класса от Handler и Thread?

Как описано на developer.android.com
... Each Handler instance is associated with a single thread and that thread's message queue. ...

Нет ли в потоке очереди сообщений?

Есть ли какая-либо выгода для класса от Handler?

Ответы [ 2 ]

3 голосов
/ 18 марта 2010

Существует существенная разница между Thread и Handler.

Класс Android Handler используется для связи между другим Runnable / Thread и тем, в котором он был создан. Публикуя данную Handler, вы можете добавить что-то для выполнения в ее ветке. Вы также можете отправлять сообщения из одного потока и обрабатывать их в другом.

Например, использование Handler является предпочтительным способом выполнения с задержкой вместо использования TimerTask. Вы также можете уведомить ваш основной поток о том, что ваш рабочий поток завершил какую-то задачу, с Handler в качестве альтернативы отправки Intent.

С сайта разработчика Android:

Существует два основных варианта использования обработчика: (1) для планирования сообщений и runnables должно быть выполнено как некоторая точка в будущее; и (2) поставить в очередь действие быть выполненным в другом потоке чем ваши собственные.

1 голос
/ 18 марта 2010

Обработчики могут отправлять и получать сообщения, выполнять различные операции.

На низком уровне каждый обработчик имеет свой собственный поток, но обработчики могут связываться друг с другом.

Например, у вас может быть какой-то обработчик, который отправляет результаты другому обработчику и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...