¿Cómo funcionan los hilos en programación?

Los hilos nos permiten separar tareas complejas en tareas mas simples y concretas, así si un proceso falla no bloquea toda la aplicación.

Diseño web
3 minutos
Hace 6 años
¿Cómo funcionan los hilos en programación?

¡Accede a cientos de cursos
con solo un pago al año!

Blog Microbanner

En este artículo hablaremos sobre uno de los conceptos que suena generar un poco de confusión sobre todo cuando se esta iniciando, el concepto es el de hilos.

En ingles se escribe Thread y la traducción mas clara es hilo. Creo que el ejemplo actual para explicar lo que es y lo que hace un hilo es utilizar las aplicaciones android.

Si tenemos un dispositivo móvil al que le damos click en el icono de una aplicación para que se abra, entonces el dispositivo seguramente ya tiene varias aplicaciones abiertas, así que podríamos decir que cada aplicación es un hilo. Queda claro que los hilos son independientes, es decir las aplicaciones, lo que haga una no debería de afectar a la otra, ahora entonces cuando estamos en una aplicación vemos que tenemos cosas como descarga de imágenes, accesos a las bases de datos, etc. Estas tareas normalmente tienen un problema: no sabemos cuanto tiempo van a tardar, de hecho corremos siempre el riesgo de que la tarea no se complete.

Imagina entonces que en una aplicación queremos descargar una imagen y contamos con una conexión a internet que no es la mejor, ademas es una imagen muy pesada, el usuario al no ver que la imagen se muestra en su teléfono puede pensar que la aplicación no funciona o que simplemente se quedó atorado, pero en realidad solo tomará más tiempo de lo debido. Entonces tenemos un problema ya que cada aplicación es un solo hilo y necesitamos el hilo para trabajar con la imagen y ya que esta tarea está pendiente no podremos avanzar. Los hilos nos ayudan a resolver estos problemas.

Una aplicación móvil bien hecha hoy en día crea un hilo para tareas como descargas, conexiones, etc. de esa manera la aplicación no se queda atascada en esas tareas esperando a que terminen. Los hilos nos permiten separar tareas complejas en tareas mas simples y concretas, ademas nos permite fallar y que esto no sea tan grave, ¿te imaginas que cada vez que algo pase la aplicación o el sitio web se quede colgado? Ahora lo que hacemos es dividir las tareas en hilos y si tenemos algún problema el impacto no es tan negativo, obviamente al dividir en mas partes el código tambien se vuelve más complejo, pero en algunos casos vale la pena asumir ese coste.

Crear un hilo es muy sencillo, este sería el código para hacerlo con Java:

1mythread = new Thread() { 2    public void run() { 3        try { 4            System.out.println("..."); 5 6            Thread.sleep(1000); 7 8            System.out.println("..."); 9        } catch(InterruptedException e) { 10            System.out.println(e); 11        } 12    }   13}; 14 15mythread.start();

En este código lo que hacemos es ejecutar un hilo y lo mandamos a dormir por 1 segundo, ya que son milisegundos y 1000 es igual a 1 segundo.

Por lo tanto como vemos no es mayor complejidad definirlos, no cambia mucho el código entre python, java y otros lenguajes, lo importante es conocer para que nos pueden servir y en resumen es para dividir y vender los problemas a los que enfrentamos.

Comentarios de los usuarios

Pregunta a ChatEDT