반응형
race condition
-
Race condition (경쟁 상태)배움/백엔드 2025. 1. 28. 23:59
Race condition (경쟁 상태)은 여러 프로세스나 스레드가 동시에 같은 리소스에 접근하거나 조작할 때 발생하는 문제이다.각 프로세스의 실행 순서에 따라 결과가 달라질 수 있어서, 의도하지 않은 오류나 버그가 발생할 수 있다.특히 병렬 처리나 멀티스레드 환경, 그리고 비동기 처리에서 자주 나타나는 문제이다. Race Condition의 예시1. 은행 계좌 잔액 문제한 계좌에서 두 사용자가 동시에 출금을 시도하는 경우를 생각해 보자.let balance = 1000;function withdraw(amount) { if (balance >= amount) { balance -= amount; // 잔액 차감 }}// 동시에 실행되는 요청withdraw(700); // 요청 1withdr..