일반
Race Condition
다른 이름: 경쟁 조건 , Race
정의
경쟁 조건. 여러 프로세스·스레드가 공유 자원에 동시 접근할 때, 실행 순서에 따라 결과가 달라지는 버그. 락(Mutex), 트랜잭션, 원자적 연산으로 해결. 비동기 코드에서 자주 발생
상세 설명
실무 활용
- 은행 계좌 잔액 동시 인출
- 재고 차감 중복 처리
- 캐시 무효화/업데이트 순서
장점
- (없음 - 버그임)
단점 및 제약
- 재현하기 어려움 (타이밍 의존)
- 디버깅 복잡
- 테스트로 발견 어려움