경쟁 상태 (race condition) 뜻

실행 순서에 따라 결과가 달라지는 동시성 문제

A concurrency bug where the result depends on timing

단계별로 보기

  1. 두 스레드가 같은 변수 count에 각자 1을 더하려 합니다.
  2. T1이 count를 읽으니 0입니다.
  3. T1이 쓰기 전에 T2도 0을 읽습니다.
  4. T1이 1을 씁니다.
  5. T2도 1을 씁니다. 결과가 2가 아니라 1이 되어 한 번의 더하기가 사라집니다.

개발자의 타자 연습에서 운영체제 용어로 타자 연습을 해 보세요.