Junior — Middle
Как съобщава една suspend функция за временното си спиране на изпълнението?
sobes.tech AI
Отговор от AI
Функцията suspend в Kotlin съобщава за временно спиране на изпълнението си чрез механизма на корутините. При извикване на suspend функция, изпълнението може да бъде спряно без блокиране на нишката, а състоянието на функцията се запазва в специален обект, наречен Continuation. Когато функцията се спре, тя връща управлението към извикващия, а след завършване на асинхронната операция изпълнението се възобновява от същото място.
Пример:
suspend fun fetchData(): String {
delay(1000) // спира корутината за 1 секунда
return "Данните са заредени"
}
Тук, delay е suspend функция, която спира изпълнението на корутината без да блокира нишката, и я възобновява след 1 секунда.