동기화는 연산이 위험하게 끼어들지 않도록 공유 가변 상태에 대한 thread들의 접근을 조율하여 race condition을 방지합니다. Java는 내장 synchronized 키워드부터 명시적 lock, 잠금 없는 atomic까지 여러 메커니즘을 제공합니다.
synchronized — 상호 배제 (intrinsic lock)
{
balance;
{
(balance >= amount) {
balance -= amount;
}
}
{
() {
balance += amount;
}
}
}
