Sobes.tech
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é suspend funkce 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 suspend funkce 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")
}