Synchronisatie coördineert de toegang van threads tot gedeelde mutable state zodat operaties niet gevaarlijk door elkaar lopen, waardoor race conditions worden voorkomen. Java biedt meerdere mechanismen, van het ingebouwde synchronized sleutelwoord tot expliciete locks en lock-free atomics.
synchronized — mutual exclusion (intrinsic locks)
{
balance;
{
(balance >= amount) {
balance -= amount;
}
}
{
() {
balance += amount;
}
}
}
