Synchronisierung koordiniert den Zugriff von Threads auf gemeinsam genutzten veränderbaren Zustand, sodass Operationen nicht gefährlich verschachtelt werden und Race Conditions verhindert werden. Java bietet mehrere Mechanismen, vom eingebauten synchronized-Schlüsselwort bis zu expliziten Locks und Lock-freien Atomaren.
synchronized — gegenseitiger Ausschluss (intrinsic locks)
{
balance;
{
(balance >= amount) {
balance -= amount;
}
}
{
() {
balance += amount;
}
}
}
