race window

동기화 경쟁 구간

공유 값을 한 번에 바꾸는 것처럼 보여도 실제로는 여러 명령어로 나뉩니다. 그 사이 다른 스레드가 들어오면 결과가 흔들립니다.

위험 창
01Read 02Compute 03Interrupted 04Write 05Lost update
공유 상태

둘 이상의 실행 흐름이 같은 변수, 파일, 큐를 수정하면 먼저 임계 구역을 찾습니다.

원자성

증가 연산 하나도 읽기와 쓰기가 나뉘면 보호 없이는 안전하지 않습니다.

락 범위

너무 좁으면 보호가 새고, 너무 넓으면 대기와 교착 위험이 커집니다.

검증 방법

반복 실행, ThreadSanitizer, 로그 순서 비교로 재현성을 높입니다.