Синхронизация координирует доступ потоков к общему изменяемому состоянию так, чтобы операции не пересекались опасно, предотвращая race conditions. Java предлагает несколько механизмов — от встроенного ключевого слова synchronized до явных блокировок и lock-free атомарных операций.
synchronized — взаимное исключение (встроенные блокировки)
{
balance;
{
(balance >= amount) {
balance -= amount;
}
}
{
() {
balance += amount;
}
}
}
