Junior — Middle
¿Cuál es el papel principal de las corutinas en la programación y en qué se diferencian de los hilos?
sobes.tech AI
Respuesta de la IA
Las corrutinas son hilos de ejecución ligeros que permiten escribir código asíncrono y concurrente de manera más sencilla y comprensible. En Android (y Kotlin), las corrutinas se utilizan para realizar tareas en segundo plano sin bloquear el hilo principal (hilo UI).
Diferencias principales entre corrutinas y hilos:
- Ligereza: las corrutinas ocupan mucho menos recursos que los hilos del sistema.
- Gestión: las corrutinas son gestionadas por un planificador dentro de la aplicación, no por el sistema operativo.
- Pausar y reanudar: las corrutinas pueden pausarse en puntos específicos (suspend) y reanudarse, lo que simplifica la programación asíncrona.
Ejemplo de uso de corrutinas en Kotlin para Android:
import kotlinx.coroutines.*
fun loadData() {
GlobalScope.launch(Dispatchers.Main) { // iniciamos una corrutina en el hilo principal
val data = withContext(Dispatchers.IO) { // cambiamos a un hilo de fondo
fetchDataFromNetwork() // solicitud larga
}
updateUI(data) // actualizamos la interfaz de usuario
}
}
De esta forma, las corrutinas permiten escribir código asíncrono que parece secuencial, sin callbacks complejos ni bloqueos.