Как создать диспетчер потоков для приложения Android? - PullRequest
1 голос
/ 30 марта 2010

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

Я никогда не делал этого раньше, и я не знаю, с чего начать. Я слышал о Thread Pool и других вещах, но я совершенно сбит с толку. Может кто-нибудь, пожалуйста, помогите мне пробиться?

Спасибо

Ответы [ 2 ]

4 голосов
/ 30 марта 2010

AsyncTask уже имеет пул потоков - просто используйте его.

0 голосов
/ 30 марта 2010

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

Это может быть довольно просто и может быть общим для Java, а не только для Android. Это может быть просто ArrayList из Runnables. Один метод добавляет runnable к задней части ArrayList. При первом вызове этого метода новый поток инициализируется и запускается. Этот поток просто неоднократно удаляет Runnable из передней части ArrayList и выполняет его. Когда ArrayList пуст, поток завершается.

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

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

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