Archive for the ‘Java’ Category
Si llegaste a este post es por una de dos razones (o por las dos):
- No sabes que es un Thread/Hilo y quieres que algiuen te lo explique de una forma rapida y sencilla.
- Tienes una idea de lo que es un Thread/Hilo pero quieres ver un ejemplo en ejecución, para poder usarlo y complementar tu tarea.
Sin importar cual es la razón por la que estás leyendo este post, aqui está una explicación Express y un ejemplo Sencillo y lo más explicado posible. Incluída el enlace de descarga del código fuente ;D
THREAD o HILO
DEFINICIÓN: Un Thread (en inglés) o Hilo (en Español), se refiere a un subproceso, el cual se ejecuta (supuestamente) en paralelo junto a otros subprocesos. Es la base para entender y crear sistemas o programas ‘multitareas’. Cabe señalar que al referirnos a “ejecutar en paralelo”, nos referimos a ‘PseudoParalelismo’ ya que en realidad no se está trabajando con un paralelismo verdadero.
Por ejemplo:
- Digamos que Un programa tiene 3 Hilos en ejecución (Digamos, una familia con 3 hijos).
- Los cuales tienen como tarea contar del 1 hasta el 10.
- Como cada hilo tiene un tiempo de ejecucion diferente (cada hijo cuenta a velocidad diferente),
- queremos saber cuanto tarda en contar cada hilo (queremos saber que hijo cuenta mas rapido),
- asi que los ponemos a contar a los 3 al mismo tiempo para saberlo.
- Al terminar de contar, cada hilo (hijo) dirá cuanto tiempo tardó en contar.
En el ejemplo, se sobreentiende que cada hijo/hilo cuenta al mismo tiempo que los demás, pero no todos cuentan a la misma velocidad. Asi que aún cuando todos los hilos comienzan a la par, no necesariamente terminan al mismo tiempo ni en el mismo orden. Pasemos al programa:
