Συγχρονισμός συντονίζει την πρόσβαση των threads σε κοινή μεταβαλλόμενη κατάσταση ώστε οι λειτουργίες να μην εμπλέκονται επικίνδυνα, αποτρέποντας race conditions. Η Java προσφέρει πολλούς μηχανισμούς, από την ενσωματωμένη λέξη-κλειδί synchronized έως σε ρητές κλειδαριές και lock-free ατομικές λειτουργίες.
synchronized — αμοιβαία αποκλεισμός (intrinsic locks)
{
balance;
{
(balance >= amount) {
balance -= amount;
}
}
{
() {
balance += amount;
}
}
}
