Knoppia

Wiki de Informática y otras historias

Herramientas de usuario

Herramientas del sitio


dad1:hilos

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
dad1:hilos [2023/09/21 09:05] thejuanvisudad1: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.
 +<code>
 +
 +public class SimpleThread extends Thread{
 +  
 +  //Atributos:
 +  protected long retraso;
 +  protected int veces;
 +  
 +  
 +  //constructor del hilo, indicamos cuantas veces se repite y cada cuanto
 +  public SimpleThread (long retraso, int veces){
 +
 +  
 +    System.out.println("Constructor del Hilo Simple");
 +    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("Cooldown de: " + retraso);
 +        sleep(retraso);
 +      }
 +      
 +      System.out.println("Fin de la ejecucion del hilo")
 +      
 +    }catch(Exception e){
 +      System.out.println("Error en el Hilo: " + e);
 +    }
 +  
 +  }
 +  
 +  
 +  
 +}
 +
 +</code>
 +
 +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
  
 {{:dad1:hilos.png |}} {{:dad1:hilos.png |}}
 +
 +
 +===== Declaración de Hilos =====
 +{{:dad1:imagen_2023-09-21_110628890.png |}}
 +
 +
 ===== Ejemplo de Funcionalidad Botón Lanzar Hilo ===== ===== Ejemplo de Funcionalidad Botón Lanzar Hilo =====
 {{:dad1:imagen_2023-09-21_105550913.png |}} {{:dad1:imagen_2023-09-21_105550913.png |}}
 {{:dad1:imagen_2023-09-21_110138751.png |}} {{:dad1:imagen_2023-09-21_110138751.png |}}
 +
 +
 ===== Ejemplo de Funcionalidad Botón Parar Hilo ===== ===== Ejemplo de Funcionalidad Botón Parar Hilo =====
 {{:dad1:imagen_2023-09-21_110334262.png |}} {{:dad1:imagen_2023-09-21_110334262.png |}}
 {{:dad1:imagen_2023-09-21_110415326.png |}} {{:dad1:imagen_2023-09-21_110415326.png |}}
 +
 +===== Ejemplo de Funcionalidad ComboBox =====
 +{{:dad1:imagen_2023-09-21_114557992.png |}}
 +NombreHilos sería:
 +
 +{{:dad1:imagen_2023-09-21_114719360.png |}}
 +
dad1/hilos.1695287100.txt.gz · Última modificación: 2023/09/21 09:05 por thejuanvisu