0Pricing
Java Academy · Aula

Coleções atômicas e concorrentes

Aprenda a usar variáveis atômicas e coleções concorrentes para garantir a segurança entre threads.

Coleções atômicas e concorrentes é uma aula grátis de Java Academy no CoddyKit. Esta é a aula 2 de 3. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Java Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Java Academy inclui 3 aulas no total.

Introdução

Variáveis atômicas e coleções concorrentes simplificam a programação segura para várias linhas de execução.

AtomicInteger

AtomicInteger oferece operações atômicas de incremento, decremento e comparação e atribuição.

Código: AtomicInteger

AtomicInteger garante que as atualizações sejam seguras para várias linhas de execução sem bloqueios explícitos.

import java.util.concurrent.atomic.*;public class Main {
  public static void main(String[] args) throws Exception {
    AtomicInteger count = new AtomicInteger(0);
    Thread t1 = new Thread(() -> { for(int i=0;i<1000;i++) count.incrementAndGet(); });
    Thread t2 = new Thread(() -> { for(int i=0;i<1000;i++) count.incrementAndGet(); });
    t1.start(); t2.start();
    t1.join(); t2.join();
    System.out.println("Count = " + count.get());
  }
}

Coleções concorrentes

Coleções concorrentes, como ConcurrentHashMap ou CopyOnWriteArrayList, lidam com o acesso simultâneo com segurança.

Código: ConcurrentHashMap

ConcurrentHashMap permite gravações e leituras simultâneas com segurança.

import java.util.concurrent.*;public class Main {
  public static void main(String[] args) throws Exception {
    ConcurrentHashMap<String, Integer> map = new ConcurrentHashMap<>();
    Thread t1 = new Thread(() -> { map.put("A", 1); });
    Thread t2 = new Thread(() -> { map.put("B", 2); });
    t1.start(); t2.start();
    t1.join(); t2.join();
    System.out.println(map);
  }
}

Código: CopyOnWriteArrayList

CopyOnWriteArrayList evita ConcurrentModificationException durante a iteração.

import java.util.concurrent.*;public class Main {
  public static void main(String[] args) {
    CopyOnWriteArrayList<String> list = new CopyOnWriteArrayList<>();
    list.add("Hello");
    list.add("World");
    for(String s : list) {
      list.add("Extra"); // safe even during iteration
      System.out.println(s);
    }
  }
}

Verificação de operações atômicas e concorrentes

Verificação rápida: por que utilizar AtomicInteger em vez de um int comum com várias linhas de execução?

Recapitulação

Recapitulação: utilize classes atômicas para contadores seguros para várias linhas de execução e coleções concorrentes para estruturas de dados compartilhadas seguras.

Perguntas Frequentes

A aula “Coleções atômicas e concorrentes” é grátis?

Sim — o texto completo de “Coleções atômicas e concorrentes” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Java Academy, atualize para CoddyKit PRO. O curso de Java Academy inclui 3 aulas no total.

O que vou aprender em “Coleções atômicas e concorrentes”?

Aprenda a usar variáveis atômicas e coleções concorrentes para garantir a segurança entre threads. Você pratica Java Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Java Academy?

Nenhuma experiência prévia é necessária. Java Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 3.

Quanto tempo leva a aula “Coleções atômicas e concorrentes”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Java Academy?

Sim. Cada aula de Java Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Sincronização e bloqueios
  2. Coleções atômicas e concorrentes
  3. Erros comuns de concorrência
← Voltar para Java Academy