Sobes.tech
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, Mutex pentru 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.