Встречается на собеседованиях • сегодня

В чем разница между методами в которых может и не может работать корутина

Корутины работают только в методах, помеченных как suspend. Такие методы могут приостанавливать выполнение без блокировки потока, передавая управление другим корутинам. Обычные методы не могут вызывать suspend-функции напрямую, так как не имеют контекста для приостановки.

Пример:

kotlin
suspend fun fetchData(): String {  // suspend-функция
    delay(1000)  // приостановка
    return "Data"
}

fun regularMethod() {
    // fetchData()  // Ошибка: нельзя вызвать suspend-функцию без корутины
    runBlocking {  // создание корутины
        fetchData()  // OK
    }
}

Ключевое отличие: suspend-функции требуют корутинного контекста и могут использовать delay, await и другие suspend-вызовы.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы