#android #service #message-queue #android-handler
#Android #Обслуживание #очередь сообщений #android-обработчик
Вопрос:
Handler
в Android используется MessageQueue
для доступа к сохраненным сообщениям. С помощью Bound Service
клиенты отправляют сообщения, которые помещаются в очередь и обрабатываются обработчиком. Это создает проблему, заключающуюся в том, что обработчик способен обрабатывать только одно сообщение одновременно. Хотя это нормально для односторонних сообщений, когда клиенты ожидают ответа, они получают его через некоторое время. Это создает проблемы, поскольку большое количество сообщений помещается в очередь, что занимает много времени.
- Если
Service
требуется обрабатывать несколько запросов одновременно, как это можно было бы сделать? - Могут ли несколько обработчиков подключаться к одному и тому же MessageQueue и обрабатывать несколько запросов?
- В связи с этим, каково правило получения ответа от
Комментарии:
1. в объявлении 1 используются потоки, в объявлении 2 да, многие обработчики могут быть назначены циклу / MessageQueue
2. не могли бы вы предоставить больше информации о том, как можно использовать потоки?
3. кстати, при использовании связанных служб используйте интерфейс IBinder для вызова двусторонней транзакции
4. docs.oracle.com/javase/tutorial/essential/concurrency
5. Связанные службы @pskink связаны с использованием интерфейсов IBinder, вопрос заключается в одновременной обработке нескольких сообщений. И хотя я знаю о параллелизме и механизмах потоковой передачи, ссылка на Oracle Java не поможет понять, как эти потоки используются в службе для обработки нескольких запросов. Все равно, спасибо.