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;
}
}