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:
-
Herencia de la clase Thread
- Creas una clase que extiende
Thready sobrescribes el métodorun(). - Inicias el flujo llamando a
start().
- Creas una clase que extiende
-
Implementación de la interfaz Runnable
- Creas una clase que implementa
Runnablecon el métodorun(). - Pasas el objeto al constructor de
Thready lo inicias.
- Creas una clase que implementa
-
Uso de ExecutorService
- Permite gestionar un grupo de hilos.
- Es útil para aplicaciones escalables.
-
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();
}
}