Sincronização coordena o acesso de threads ao estado mutável compartilhado para que as operações não se intercalem perigosamente, prevenindo condições de corrida. Java oferece vários mecanismos, desde a palavra-chave synchronized integrada até locks explícitos e atômicos sem lock.
synchronized — exclusão mútua (locks intrínsecos)
{
balance;
{
(balance >= amount) {
balance -= amount;
}
}
{
() {
balance += amount;
}
}
}
