Каким образом реализовать диспетчер, работающий в однопоточном режиме?

В Android для реализации диспетчера (Dispatcher), работающего в однопоточном режиме, можно использовать класс Handler с Looper, привязанным к одному потоку.

Короткий ответ

Что ответить на собеседовании

В Android для реализации диспетчера (Dispatcher), работающего в однопоточном режиме, можно использовать класс Handler с Looper, привязанным к одному потоку. Обычно это главный (UI) поток, но можно создать и свой поток с собственным Looper.

Подробный разбор

Ответ с пояснениями

В Android для реализации диспетчера (Dispatcher), работающего в однопоточном режиме, можно использовать класс Handler с Looper, привязанным к одному потоку. Обычно это главный (UI) поток, но можно создать и свой поток с собственным Looper.

Пример создания однопоточного диспетчера:

// Создаем поток с Looper
val handlerThread = HandlerThread("MySingleThreadDispatcher")
handlerThread.start()

// Создаем Handler, связанный с этим потоком
val handler = Handler(handlerThread.looper)

// Отправляем задачи на выполнение в однопоточном режиме
handler.post {
    // Код, который будет выполнен в этом потоке
}

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

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку