Junior — Middle
Quais são as principais vantagens e desvantagens de usar a palavra-chave synchronized em Java?
sobes.tech IA
Resposta da IA
A palavra-chave synchronized em Java é usada para garantir a segurança de threads, bloqueando o acesso às seções críticas do código para que apenas um thread possa executá-las de cada vez.
Vantagens:
- Facilidade de uso para proteger recursos compartilhados.
- Garante a atomicidade e a visibilidade das mudanças entre threads.
- Permite evitar condições de corrida e outros problemas de concorrência.
Desvantagens:
- Pode levar a uma redução de desempenho devido a bloqueios.
- Possibilidade de deadlocks se a sincronização for mal organizada.
- Limita o paralelismo, pois os threads aguardam a liberação do monitor.
Exemplo de uso:
public class Counter {
private int count = 0;
public synchronized void increment() {
count++;
}
public synchronized int getCount() {
return count;
}
}
Neste exemplo, os métodos increment e getCount estão sincronizados para evitar alterações simultâneas na variável count por vários threads.