Sobes.tech
Junior — Middle

Quais métodos e ferramentas são usados em Java para organizar a sincronização de fluxo de dados?

sobes.tech IA

Resposta da IA

Em Java, os seguintes métodos e ferramentas são utilizados para organizar a sincronização de fluxos de dados:

  • Palavra-chave synchronized — bloqueia o acesso à secção crítica do código, para que apenas um fluxo possa executá-la.
  • Objetos Lock (por exemplo, ReentrantLock) do pacote java.util.concurrent.locks — um mecanismo de bloqueio mais flexível.
  • Volatile — garante a visibilidade das alterações de uma variável entre fluxos.
  • Classes de java.util.concurrent — como CountDownLatch, Semaphore, CyclicBarrier para coordenação de fluxos.
  • Coleções Concurrentes — por exemplo, ConcurrentHashMap, que são seguras para uso por múltiplos fluxos.

Exemplo de uso de synchronized:

public class Counter {
    private int count = 0;

    public synchronized void increment() {
        count++;
    }

    public synchronized int getCount() {
        return count;
    }
}