Middle
Co znamená klíčové slovo 'suspend' v Kotlinu?
sobes.tech AI
Odpověď od AI
Klíčové slovo suspend v Kotlinu se používá k označení funkce nebo lambda výrazu, který je potenciálně možné pozastavit a později obnovit. Takové funkce se nazývají korutiny.
Hlavní vlastnosti funkcí suspend:
- Mohou být volány pouze z jiné
suspendfunkce nebo z korutínového scope. - Pozastavení funkce neblokuje vlákno, ve kterém se provádí. Místo toho může být vlákno využito k vykonávání jiných úkolů.
- Po dokončení pozastavené operace (například síťového požadavku) funkce pokračuje tam, kde byla pozastavena.
- V pozadí Kotlin překladač transformuje
suspendfunkce do stavových strojů pomocí Continuation-Passing Style (CPS).
Příklad:
// Příklad suspend funkce pro simulaci dlouhé operace
suspend fun fetchData(): String {
// Simulace síťového požadavku nebo dlouhého úkolu
kotlinx.coroutines.delay(1000) // Pozastavení bez blokování vlákna
return "Data přijata"
}
// Funkce, která volá suspend funkci
fun main() = kotlinx.coroutines.runBlocking { // runBlocking vytváří korutínový scope
println("Načítání dat...")
val data = fetchData() // Volání suspend funkce
println("Data: $data")
}