Sobes.tech
Junior — Middle

Можете ли да обясните какви са suspend функциите в Kotlin и как работят?

sobes.tech AI

Отговор от AI

Функциите suspend в Kotlin са функции, които могат да бъдат спряни и възобновени по-късно, без да блокират нишката. Те се използват за писане на асинхронен и неблокиращ код.

Основни точки:

  • Обозначават се с ключовата дума suspend.
  • Могат да бъдат извиквани само от други suspend функции или корутини.
  • Позволяват изпълнение на дълги операции (например мрежови заявки) без блокиране на основната нишка.

Пример:

suspend fun fetchData(): String {
    delay(1000) // спира изпълнението за 1 секунда без блокиране на нишката
    return "Данните са получени"
}

Тук, delay е suspend функция, която спира корутината, позволявайки изпълнение на други задачи по време на това.