Concurrency Issue (동시성 문제)

여러 스레드 또는 프로세스가 동시에 같은 자원(데이터, 메모리 등)에 접근하면서 발생하는 문제

동시성 문제의 종류

Race Condition (경쟁 상태) 🔥

Deadlock (교착 상태)

<aside> 🛠

트랜잭션은 데이터베이스의 논리적 작업 단위 (작업 집합)

</aside>

근본적인 원인은?

image.png

여러 스레드(또는 트랜잭션)가 공유 자원에 대해 동시에 접근하면서, 그 접근을 제어하지 않기 때문

해결 방법은?

image.png

공유 자원에 대한 접근 순서를 강제하여 예측 가능한 결과를 만드는 것!