Что такое Worker Thread

«Что такое Worker Thread» — вопрос из категории Многопоточность, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Worker Thread — это фоновый поток, выполняющий задачи параллельно с основным (UI) потоком. В Android UI-поток обрабатывает пользовательский интерфейс, а тяжелые операции (сеть, БД, вычисления) должны выполняться в Worker Thread, чтобы не блокировать UI.

Пример с Thread:

Thread {
    // Фоновая работа
    val result = doHeavyWork()

    runOnUiThread {
        // Обновление UI после завершения
        textView.text = result
    }
}.start()

Для более удобной работы с фоновыми потоками в Android используются:

  • HandlerThread
  • ThreadPoolExecutor
  • Coroutines (Dispatchers.IO)
  • RxJava
  • WorkManager для отложенных задач

Важно помнить про синхронизацию при работе с общими ресурсами из разных потоков.