Junior — Middle
Ako informuje suspendovaná funkcia o svojom dočasnom zastavení vykonávania?
sobes.tech AI
Odpoveď od AI
Funkcia suspend v Kotlinu oznamuje dočasné pozastavenie svojej exekúcie pomocou mechanizmu korutín. Pri volaní suspend funkcie môže byť exekúcia pozastavená bez blokovania vlákna a stav funkcie je uložený v špeciálnom objekte nazývanom Continuation. Keď je funkcia pozastavená, vracia riadenie volajúcemu, a po dokončení asynchrónnej operácie sa exekúcia obnoví zo toho istého miesta.
Príklad:
suspend fun fetchData(): String {
delay(1000) // pozastaví korutínu na 1 sekundu
return "Dáta načítané"
}
Tu je delay suspend funkcia, ktorá pozastavuje exekúciu korutiny bez blokovania vlákna a obnoví ju po 1 sekunde.