Junior — Middle
¿Cómo se realiza la interacción entre las corutinas dentro de un mismo programa?
sobes.tech AI
Respuesta de la IA
En Android (y Kotlin), la interacción entre corutinas generalmente se realiza mediante mecanismos de sincronización e intercambio de datos, como:
- Canales (Channels) — permiten enviar y recibir datos entre corutinas de forma asíncrona.
- SharedFlow y StateFlow — flujos reactivos para la difusión de eventos y estados.
- Contexto compartido u objetos con sincronización — por ejemplo,
Mutexpara proteger recursos compartidos.
Ejemplo de uso de un canal para intercambiar mensajes entre corutinas:
val canal = Channel<String>()
// Emisor
launch {
canal.send("Hola desde la corutina")
}
// Receptor
launch {
val mensaje = canal.receive()
println(mensaje)
}
De esta forma, las corutinas pueden intercambiar datos y coordinar su trabajo sin bloquear hilos.