
[OS] Race Condition과 Mutual Exclusion
·
IT/CS
Race Condition 경쟁 상태 여러 스레드가 공유된 자원에 동시에 접근하여 그 순서와 타이밍에 따라 결과가 달라지는 상황을 말한다. 이런 경우, 실행할 때마다 다른 결과를 얻는다. 컴퓨터의 작동에서 일반적으로 발생하는 결정적 결과와 달리, 결과가 어떠할지 알지 못하거나 실행할 때마다 결과가 다른 경우를 비결정적(Indeterminate)인 결과라고 부른다. Critical Section 임계 영역 멀티스레드가 같은 코드를 실행할 때 "경쟁 상태"이 발생하기 때문에, 이러한 코드 부분은 임계 영역(Critical Section)이라고 부른다. 공유 자원에 접근하지만, 동시에 여러 스레드에서 실행되면 안 되는 코드 부분이다. Mutual Exclusion 상호 배제 동기화 기법의 하나 락이나 세마포어..