Ответ
Да, работал. ExecutorService — это интерфейс из пакета java.util.concurrent, который упрощает управление потоками. Чаще всего использую ThreadPoolExecutor или Executors для создания пула потоков.
Пример:
val executor = Executors.newFixedThreadPool(4)
executor.submit {
// Выполнение задачи в фоне
val result = doBackgroundWork()
runOnUiThread { updateUI(result) }
}
executor.shutdown() // Важно закрывать после использования
Нюансы:
- Не забывать вызывать
shutdown()илиshutdownNow(), иначе потоки могут остаться висеть. - Для UI-обновлений после фоновой работы использовать
runOnUiThread/Handler. - Выбирать подходящий тип пула (
Fixed,Cached,SingleThread).