Junior — Middle
É possível usar operações atômicas para sincronizar threads sem introduzir bloqueios?
sobes.tech IA
Resposta da IA
Sim, operações atómicas permitem sincronizar o acesso a dados partilhados entre threads sem usar bloqueios tradicionais (mutex, synchronized). Elas garantem que a operação seja realizada como uma unidade indivisível, prevenindo condições de corrida.
Por exemplo, em Android (Java/Kotlin), pode-se usar classes do pacote java.util.concurrent.atomic, como AtomicInteger:
AtomicInteger counter = new AtomicInteger(0);
counter.incrementAndGet(); // incremento atómico do valor
Isso evita custos adicionais e problemas associados a bloqueios, mas não é adequado para todos os cenários — operações complexas com várias variáveis geralmente requerem uma sincronização mais avançada.