Короткие, но частые задания: HandlerThread или ThreadPoolExecutor?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Короткие, но частые задания: HandlerThread или ThreadPoolExecutor?

Сообщение Anonymous »

Во-первых, я не смог определить, каким должен быть заголовок, поэтому, если он недостаточно конкретен, возникнет сам вопрос.

У нас есть приложение, которое использует службу переднего плана и остается в живых навсегда, и в этой службе есть частые задания доступа к базе данных, задания доступа к сети и некоторые другие, которые необходимо выполнять в фоновых потоках. Одна работа сама по себе отнимает небольшое количество времени, но сами работы выполняются часто. Очевидно, что они должны работать в рабочих потоках, поэтому я здесь, чтобы спросить, какому дизайну нам следует следовать.

Код: Выделить всё

HandlerThread
— это структура, которая создает отдельный поток и использует очередь для выполнения задач, но всегда зацикливается и ждет сообщений, которые потребляют энергию, в то время как ThreadPoolExecutor создает несколько потоков для каждого задания и удаляет потоки, когда задания выполняются. , но из-за слишком большого количества потоков могут возникнуть утечки или даже нехватка памяти. Количество заданий может быть 5 или 20, в зависимости от того, как пользователь действует определенным образом. Между двумя заданиями может быть перерыв в 5 секунд или в день, в зависимости от пользователя. Но помните, что приложение остается активным навсегда и ждет выполнения этих заданий.

Итак, какой из них лучше использовать в данном конкретном случае? Исполнитель пула потоков или поток-обработчик? Любой совет приветствуется, спасибо.

Подробнее здесь: https://stackoverflow.com/questions/591 ... olexecutor
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»