Race Condition둘 이상의 스레드 또는 프로세스가 동시에 공유자원에 접근하면서 실행 순서에 따라 결과가 달라지는 상황입니다.→ 누가 먼저 실행되느냐에 따라 프로그램의 결과가 달라지고, 때로는 비정상적이나 예기치 못한 오류가 발생할 수 있습니다.왜 생기나요?공유 자원을 여러 스레드가 동기화 없이 동시에 접근할 때 발생합니다.(특히 읽기-쓰기, 쓰기-쓰기 접근에서 위험합니다.)예제로 분석하기int balance = 0;void deposit() { balance += 100;}void withdraw() { balance -= 100;}두 스레드가 동시에 deposit() 과 withdraw() 를 실행한다면, balance 를 load 하고 값을 바꾸고 다시 store 하는 과정이 겹치면서 실..