Junior — Middle
De que formas é que se pode implementar a criação de fluxos de dados em Java e em que é que elas diferem?
sobes.tech IA
Resposta da IA
Em Java, a criação de fluxos de dados (streams) pode ser implementada de várias maneiras:
-
Herança da classe Thread
- Crie uma classe que estende
Threade substitui o métodorun(). - Inicie o fluxo chamando
start().
- Crie uma classe que estende
-
Implementação da interface Runnable
- Crie uma classe que implementa
Runnablecom o métodorun(). - Passe o objeto ao construtor de
Threade inicie.
- Crie uma classe que implementa
-
Uso de ExecutorService
- Permite gerenciar um pool de threads.
- Útil para aplicações escaláveis.
-
Uso de Callable e Future
- Permite obter resultados do fluxo.
Diferenças:
- Herança de Thread limita a herança, pois Java não suporta herança múltipla.
- Runnable é mais flexível, permite usar composição.
- ExecutorService simplifica a gestão de threads e seu ciclo de vida.
Exemplo com Runnable:
class MyRunnable implements Runnable {
public void run() {
System.out.println("Thread iniciada");
}
}
public class Main {
public static void main(String[] args) {
Thread thread = new Thread(new MyRunnable());
thread.start();
}
}