Uso de Thread y Runnable

En este ejercicio, aprenderás a utilizar las clases **Thread** y **Runnable** en Java para crear y gestionar hilos. A través de ejemplos prácticos, entenderás cómo implementar la concurrencia en tus aplicaciones, permitiendo que varias tareas se ejecuten de manera simultánea y eficiente. Este ejercicio es fundamental para comprender la programación multihilo y cómo mejorar el rendimiento de tus aplicaciones Java.

Tema

Hilos y Concurrencia

Ejercicio Java

En este ejercicio, crearás un programa en Java que demuestre el uso de las clases **Thread** y **Runnable** para ejecutar múltiples hilos. Primero, implementarás una clase que implemente la interfaz **Runnable** y luego crearás un objeto **Thread** para ejecutar el código en paralelo. Después, usarás la clase **Thread** directamente para gestionar los hilos. A lo largo de este ejercicio, verás cómo ambas opciones permiten ejecutar código de manera concurrente, mejorando el rendimiento de tu aplicación.

Instrucciones:

  1. Crea una clase que implemente la interfaz Runnable y sobrescribe el método run() para definir la tarea a ejecutar.
  2. Crea un objeto de la clase Thread pasando el objeto Runnable como parámetro y llama al método start() para ejecutar el hilo.
  3. Implementa otro hilo utilizando directamente la clase Thread y sobrescribe el método run() para realizar la tarea.
  4. En el método principal, crea y ejecuta ambos hilos para demostrar su funcionamiento.

Este ejercicio te ayudará a comprender cómo manejar la concurrencia utilizando **Thread** y **Runnable**, dos de los métodos más comunes para trabajar con hilos en Java, lo que te permitirá realizar tareas de manera eficiente en aplicaciones concurrentes.


// Clase que implementa Runnable
class MiTareaRunnable implements Runnable {
    @Override
    public void run() {
        for (int i = 1; i <= 5; i++) {
            System.out.println("Hilo Runnable: " + i);
            try {
                Thread.sleep(500); // Simula trabajo en el hilo
            } catch (InterruptedException e) {
                System.out.println(e.getMessage());
            }
        }
    }
}

// Clase que extiende Thread
class MiHilo extends Thread {
    @Override
    public void run() {
        for (int i = 1; i <= 5; i++) {
            System.out.println("Hilo Thread: " + i);
            try {
                Thread.sleep(500); // Simula trabajo en el hilo
            } catch (InterruptedException e) {
                System.out.println(e.getMessage());
            }
        }
    }
}

public class Main {
    public static void main(String[] args) {
        // Crear y ejecutar el hilo utilizando Runnable
        MiTareaRunnable tareaRunnable = new MiTareaRunnable();
        Thread hiloRunnable = new Thread(tareaRunnable);
        hiloRunnable.start();

        // Crear y ejecutar el hilo utilizando Thread
        MiHilo hiloThread = new MiHilo();
        hiloThread.start();
    }
}

 Salida:

Hilo Runnable: 1
Hilo Thread: 1
Hilo Runnable: 2
Hilo Thread: 2
Hilo Runnable: 3
Hilo Thread: 3
Hilo Runnable: 4
Hilo Thread: 4
Hilo Runnable: 5
Hilo Thread: 5

Este programa demuestra cómo crear y ejecutar hilos en Java utilizando tanto la clase Thread como la interfaz Runnable. El hilo creado mediante Runnable y el hilo creado mediante la extensión de la clase Thread ejecutan tareas simultáneamente, mostrando cómo trabajar con hilos para realizar tareas de manera concurrente en Java.


 Comparte este ejercicio JAVA