Sobes.tech
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:

  1. Herança da classe Thread

    • Crie uma classe que estende Thread e substitui o método run().
    • Inicie o fluxo chamando start().
  2. Implementação da interface Runnable

    • Crie uma classe que implementa Runnable com o método run().
    • Passe o objeto ao construtor de Thread e inicie.
  3. Uso de ExecutorService

    • Permite gerenciar um pool de threads.
    • Útil para aplicações escaláveis.
  4. 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();
    }
}