E aí, programador. Tudo bem contigo? Nesse artigo você vai aprender um dos conceitos mais importantes da programação concorrente: as Threads. Se você nunca ouviu nada sobre esse assunto, não se assuste. É relativamente simples.
Ao usar o seu computador no dia a dia, você passa o tempo todo fazendo várias coisas ao mesmo tempo. Por exemplo, enquanto estou escrevendo este artigo, estou ouvindo um fundo musical relaxante e baixando uma nova atualização para minha distro Linux. Já imaginou como seria chato ter que escolher fazer apenas uma coisa de cada vez?!
Todo esse paralelismo só é possível por causa das Threads. O que vamos ver nesse artigo é uma pequena introdução de como criar e gerencias essas belezinhas no Java.
O exemplo que vamos criar é bem simples e divertido. Vamos criar contadores simultâneos. Legal né?! Vem comigo aqui.
Para começar, vamos criar uma nova classe, que eu criativamente chamei de ThreadContador 🤭:
public class ThreadContador extends Thread { private int id; public ThreadContador(int id){ this.id = id; } @Override public void run(){ for(int i=0; i<100; i++) { System.out.println("Thread " + id + " contagem: " + i); } } }
A mágica aqui está na classe Thread do pacote java.lang que nos traz o método run. O que precisamos para criar um Thread é simplesmente sobrescrever o comportamento desse método, e pronto! Simples hein!?
Repare agora na implementação "super complexa" disso tudo:
public class Application { public static void main(String[] args) { var thread1 = new ThreadContador(1); var thread2 = new ThreadContador(2); thread1.start(); thread2.start(); } }
Ao chamarmos o método start, estamos dizendo ao Sistema Operacional que o resto do serviço é com ele. É ele quem vai gerenciar quando começa ou termina a execução de cada uma das Threads.
E "automagicamente" você acabou de criar dois contadores paralelos!👏
E aí, gostou desse novo conhecimento?
Comentários (0)