Ответ
Thread.sleep() блокирует текущий поток, что противоречит концепции корутин, которые должны быть неблокирующими. Вместо этого в корутинах используется delay() из kotlinx.coroutines, который приостанавливает корутину без блокировки потока, позволяя другим корутинам работать.
Пример:
suspend fun doWork() {
delay(1000) // Не блокирует поток
// Thread.sleep(1000) <- Так делать нельзя!
}
delay() - suspend-функция, которая может быть вызвана только из корутины или другой suspend-функции. Она освобождает поток для выполнения других задач во время ожидания.