Article image
Marcos Bassetto
Marcos Bassetto17/05/2024 23:53
Compartilhe

Programação Concorrente em Java

  • #Java

A programação concorrente é um aspecto fundamental na construção de aplicações modernas e eficientes. Java, sendo uma linguagem de programação robusta, oferece suporte extensivo para programação concorrente através de sua API de Concorrência.

O que é Programação Concorrente?

A programação concorrente é um paradigma de programação onde várias tarefas são iniciadas, executadas e concluídas em ordem sobreposta durante o mesmo período de tempo. Ela é essencial para atividades que podem ser divididas em tarefas independentes e executadas simultaneamente.

Threads em Java

Em Java, a unidade básica de programação concorrente é a Thread. Uma thread é um fluxo de controle dentro de um programa que pode ser executado simultaneamente com outras threads.

Java

class MinhaThread extends Thread {

  public void run(){

    System.out.println("Thread está sendo executada.");

  }

}

public class Exemplo {

  public static void main(String args[]) {

    MinhaThread t1 = new MinhaThread();

    t1.start();

  }

}

Código gerado por IA. Examine e use com cuidado. Mais informações em perguntas frequentes.

Interface Runnable

A interface Runnable é outra maneira de criar uma thread. Ao implementar a interface Runnable, você precisa sobrescrever o método run().

Java

class MinhaRunnable implements Runnable {

  public void run(){

    System.out.println("Runnable está sendo executada.");

  }

}

public class Exemplo {

  public static void main(String args[]) {

    Thread t1 = new Thread(new MinhaRunnable());

    t1.start();

  }

}

Código gerado por IA. Examine e use com cuidado. Mais informações em perguntas frequentes.

Sincronização

A sincronização é usada para controlar o acesso a recursos compartilhados. Em Java, o synchronized é usado para obter o bloqueio de um objeto para garantir a execução consistente.

Java

class Contador {

  int cont = 0;

  public synchronized void incrementar() {

    cont++;

  }

}

public class Exemplo {

  public static void main(String args[]) throws Exception {

    Contador c = new Contador();

    Thread t1 = new Thread(new Runnable() {

      public void run() {

        for(int i = 0; i < 1000; i++) {

          c.incrementar();

        }

      }

    });

    t1.start();

    t1.join();

    System.out.println("Contagem: " + c.cont);

  }

}

Código gerado por IA. Examine e use com cuidado. Mais informações em perguntas frequentes.

Espero que este artigo tenha lhe dado uma boa introdução à programação concorrente em Java. Lembre-se, a prática é a chave para dominar qualquer conceito, então continue praticando!

Compartilhe
Comentários (0)