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:48] – 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 21: | Línea 75: | ||
| {{: | {{: | ||
| NombreHilos sería: | NombreHilos sería: | ||
| + | |||
| {{: | {{: | ||