#android #многопоточность #android_asynctask #mutex
Есть некий AsyncTask. Нужно предотвратить одновременное выполнение нескольких его экземпляров. Есть идея использовать старый добрый Mutex, но насколько это правильно?
Ответы
Ответ 1
У AsyncTask есть метод executeOnExecutor (Executor exec, Params... params), с помощью которого можно организовать поведение Ваших тасков. Так же есть два заготовленных для этого Executor'а: SERIAL_EXECUTOR и THREAD_POOL_EXECUTOR Если я правильно понял вопрос Вам нужен SERIAL_EXECUTOR - все таски запущенные такой командой будут выполняться по очереди task.executeOnExecutor(AsyncTask.SERIAL_EXECUTOR, params...); Либо Вы можете создать свой, более подходящий экземпляр Executor и использовать его для организации задач.
Комментариев нет:
Отправить комментарий