Junior — Middle
Cum se realizează interacțiunea între corutine într-un singur program?
sobes.tech AI
Răspuns de la AI
În Android (și Kotlin), interacțiunea între corutine se realizează de obicei prin mecanisme de sincronizare și schimb de date, cum ar fi:
- Canale (Channels) — permit trimiterea și primirea de date între corutine în mod asincron.
- SharedFlow și StateFlow — fluxuri reactive pentru difuzarea evenimentelor și stărilor.
- Context comun sau obiecte cu sincronizare — de exemplu,
Mutexpentru protejarea resurselor comune.
Exemplu de utilizare a unui canal pentru schimbul de mesaje între corutine:
val canal = Channel<String>()
// Emitent
launch {
canal.send("Salut din corutină")
}
// Recepționer
launch {
val mesaj = canal.receive()
println(mesaj)
}
Astfel, corutinele pot schimba date și pot coordona activitatea fără a bloca firele de execuție.