同期は、スレッドが共有可変状態にアクセスするのを調整し、操作が危険に交錯しないようにして、競合状態を防ぎます。Javaは、組み込みのsynchronizedキーワードから明示的なロックおよびロックフリーアトミックスまで、複数のメカニズムを提供しています。
synchronized — 相互排斥(固有ロック)
{
balance;
{
(balance >= amount) {
balance -= amount;
}
}
{
() {
balance += amount;
}
}
}
