Middle
Ce înseamnă cuvântul cheie 'suspend' în Kotlin?
sobes.tech AI
Răspuns de la AI
Cuvântul cheie suspend în Kotlin este utilizat pentru a marca o funcție sau o expresie lambda care poate fi suspendată și reluată mai târziu. Astfel de funcții sunt numite corutine.
Principalele proprietăți ale funcțiilor suspend:
- Pot fi apelate doar dintr-o altă funcție
suspendsau dintr-un scope de corutină. - Suspendarea unei funcții nu blochează thread-ul în care se execută. În schimb, thread-ul poate fi folosit pentru alte sarcini.
- După executarea unei operații suspendate (de exemplu, o solicitare de rețea), funcția își reia activitatea de unde a fost suspendată.
- În culise, compilatorul Kotlin transformă funcțiile
suspendîn mașini de stări, folosind stilul Continuation-Passing (CPS).
Exemplu:
// Exemplu de funcție suspend pentru a simula o operație lungă
suspend fun fetchData(): String {
// Simulare de solicitare de rețea sau sarcină lungă
kotlinx.coroutines.delay(1000) // Suspendare fără blocarea thread-ului
return "Datele au fost primite"
}
// Funcție care apelează o funcție suspend
fun main() = kotlinx.coroutines.runBlocking { // runBlocking creează un scope de corutină
println("Se încarcă datele...")
val data = fetchData() // Apelare funcție suspend
println("Date: $data")
}