Sinkronisasi mengkoordinasikan akses thread ke status mutable bersama sehingga operasi tidak saling mengganggu secara berbahaya, mencegah race conditions. Java menawarkan beberapa mekanisme, dari kata kunci synchronized bawaan hingga locks eksplisit dan atomic lock-free.
synchronized — mutual exclusion (intrinsic locks)
{
balance;
{
(balance >= amount) {
balance -= amount;
}
}
{
() {
balance += amount;
}
}
}
