Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
dad1:hilos [2023/09/21 09:07] – thejuanvisu | dad1:hilos [2023/11/16 07:53] (actual) – [Heredando Clase Thread] thejuanvisu | ||
---|---|---|---|
Línea 1: | Línea 1: | ||
====== DAD-1: Hilos ====== | ====== DAD-1: Hilos ====== | ||
+ | ===== Definición ===== | ||
+ | Un Hilo es la secuencia única de control de flujo dentro del programa. Suele ser la unidad de código más pequeña que se puede ejecutar. | ||
+ | |||
+ | Un hilo se puede implementar heredando la clase Thread o implementando la interfaz run(). | ||
+ | |||
+ | ==== Heredando Clase Thread ==== | ||
+ | |||
+ | Por ejemplo, este hilo que vamos a implementar lo que hará será que cada vez que sea llamando repetir múltiples veces algo con cierto retraso entre ejecución. | ||
+ | < | ||
+ | |||
+ | public class SimpleThread extends Thread{ | ||
+ | | ||
+ | // | ||
+ | protected long retraso; | ||
+ | protected int veces; | ||
+ | | ||
+ | | ||
+ | // | ||
+ | public SimpleThread (long retraso, int veces){ | ||
+ | |||
+ | | ||
+ | System.out.println(" | ||
+ | this.retraso = retraso; | ||
+ | this.veces = veces; | ||
+ | } | ||
+ | | ||
+ | //Definimos que hará el hilo durante su ejecución: | ||
+ | public void run(){ | ||
+ | try{ | ||
+ | for(int i = veces; veces >= 0; veces--){ | ||
+ | System.out.println(" | ||
+ | sleep(retraso); | ||
+ | } | ||
+ | | ||
+ | System.out.println(" | ||
+ | | ||
+ | }catch(Exception e){ | ||
+ | System.out.println(" | ||
+ | } | ||
+ | | ||
+ | } | ||
+ | | ||
+ | | ||
+ | | ||
+ | } | ||
+ | |||
+ | </ | ||
+ | |||
+ | OJO: Para ejecutar el hilo usamos .start(), no .run(). | ||
+ | |||
+ | ===== En la práctica ===== | ||
+ | |||
+ | Un hilo es una unidad única de control, para implementar un hilo necesitamos un objeto de la clase thread. | ||
+ | |||
El Programa que queremos crear deberá poder arrancar y parar hilos, de forma que podamos seleccionar el hilo a arrancar con un JComboBox y muestre en un log como van los hilos dentro de un JTextArea | El Programa que queremos crear deberá poder arrancar y parar hilos, de forma que podamos seleccionar el hilo a arrancar con un JComboBox y muestre en un log como van los hilos dentro de un JTextArea | ||
Línea 17: | Línea 71: | ||
{{: | {{: | ||
{{: | {{: | ||
+ | |||
+ | ===== Ejemplo de Funcionalidad ComboBox ===== | ||
+ | {{: | ||
+ | NombreHilos sería: | ||
+ | |||
+ | {{: | ||
+ |