Bom dia, alguém poderia me explicar Threads: não consegui entender!
Thread é a classe Java responsável por implementar processos concorrentes.
Você pode disparar várias Threas e elas vão processar alguma coisa concorrentemente, disputando tempo do processador.
public class Exemplo {
public static void main(String[] args) throws Exception {
Exemplo programa = new Exemplo();
programa.executar();
}
public void executar() throws Exception {
exemploSemThread();
exemploComThread();
}
private void exemploSemThread() {
System.out.println("Inicio execucao processos 1 e 2 sem threads");
executaProcesso1();
executaProcesso2();
System.out.println("Fim execucao processos 1 e 2 sem threads");
}
private void exemploComThread() {
System.out.println("Inicio execucao processos 1 e 2 com threads");
Thread processo1 = new Thread(() -> executaProcesso1());
Thread processo2 = new Thread(() -> executaProcesso2());
processo1.start();
processo2.start();
System.out.println("Fim execucao processos 1 e 2 com threads");
}
private void executaProcesso1() {
for (int i = 1; i <= 50; i++) {
System.out.println("processo 1 esta fazendo algo: " + i);
aguarda(100);
}
}
private void executaProcesso2() {
for (int i = 1; i <= 50; i++) {
System.out.println("processo 2 esta fazendo algo: " + i);
aguarda(100);
}
}
private void aguarda(int milissegundos) {
try {
Thread.sleep(milissegundos);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
4 curtidas
Obrigado