Ответ
Многопоточность — это способ выполнения нескольких потоков (threads) внутри одного процесса параллельно или псевдопараллельно. Каждый поток имеет свой стек и контекст, но разделяет память и ресурсы процесса.
В Android:
- UI-поток (главный) обрабатывает события и обновляет интерфейс.
- Долгие операции (сеть, БД) выполняются в фоновых потоках, чтобы не блокировать UI.
Пример с Thread:
Thread {
// Фоновая задача
val result = doHeavyWork()
runOnUiThread {
// Обновление UI из главного потока
textView.text = result
}
}.start()
Альтернативы:
Coroutines(предпочтительно)AsyncTask(устарел)Handler+Looper
⚠️ Проблемы: гонки данных, deadlocks — нужна синхронизация (synchronized, Mutex).
Видео-ответы
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶