Sobes.tech
Junior — Middle

¿De qué maneras se puede implementar la creación de flujos de datos en Java y en qué se diferencian?

sobes.tech AI

Respuesta de la IA

En Java, la creación de flujos de datos (streams) se puede implementar de varias maneras:

  1. Herencia de la clase Thread

    • Creas una clase que extiende Thread y sobrescribes el método run().
    • Inicias el flujo llamando a start().
  2. Implementación de la interfaz Runnable

    • Creas una clase que implementa Runnable con el método run().
    • Pasas el objeto al constructor de Thread y lo inicias.
  3. Uso de ExecutorService

    • Permite gestionar un grupo de hilos.
    • Es útil para aplicaciones escalables.
  4. Uso de Callable y Future

    • Permite obtener resultados del flujo.

Diferencias:

  • La herencia de Thread limita la herencia, ya que Java no soporta herencia múltiple.
  • Runnable es más flexible, permite usar composición.
  • ExecutorService simplifica la gestión de hilos y su ciclo de vida.

Ejemplo con Runnable:

class MyRunnable implements Runnable {
    public void run() {
        System.out.println("Hilo iniciado");
    }
}

public class Main {
    public static void main(String[] args) {
        Thread thread = new Thread(new MyRunnable());
        thread.start();
    }
}