Можем ли мы создать два ThreadPoolExecutor, работающих на Android? - PullRequest
1 голос
/ 30 августа 2011

AsyncTask управляет пулом потоков с 5-ядерным потоком.Как только мы начнем использовать AsyncTask, он начнет настраивать этот пул потоков на телефоне Android.

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

Поэтому я собираюсь создать еще один другой пул потоков, который будет использоваться для управления потоками такого типа.Что меня беспокоит, так это то, что если я создам другой пул потоков с 5 основными потоками, это будет слишком много потоков (10 основных потоков), работающих на Android?это замедлит это и вызовет плохую работу?

Спасибо.

1 Ответ

0 голосов
/ 30 августа 2011

Как сказал Алекс, вам нужно будет использовать метод executeOnExecutor(), чтобы запустить его с вашим собственным исполнителем. http://developer.android.com/reference/android/os/AsyncTask.html#executeOnExecutor%28java.util.concurrent.Executor,%20Params...%29

Кажется, есть число ошибок, поэтому внимательно прочитайте всю страницу для AsyncTask.

Так что да, вы можете создать свой собственный ThreadPoolExecutor и использовать его с AsyncTask.

А также проверьте это,

Использование ThreadPoolExecutor и AsyncTask

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