Junior — Middle
Comment l'interaction entre les coroutines est-elle réalisée dans le cadre d'un même programme?
sobes.tech IA
Réponse de l'IA
En Android (et Kotlin), l'interaction entre coroutines se fait généralement via des mécanismes de synchronisation et d'échange de données, tels que :
- Canaux (Channels) — permettent d'envoyer et de recevoir des données entre coroutines de manière asynchrone.
- SharedFlow et StateFlow — flux réactifs pour la diffusion d'événements et d'états.
- Contexte partagé ou objets avec synchronisation — par exemple,
Mutexpour protéger les ressources communes.
Exemple d'utilisation d'un canal pour échanger des messages entre coroutines :
val canal = Channel<String>()
// Émetteur
launch {
canal.send("Bonjour depuis la coroutine")
}
// Récepteur
launch {
val message = canal.receive()
println(message)
}
Ainsi, les coroutines peuvent échanger des données et coordonner leur travail sans bloquer les threads.