임계 구역
-
임계 구역(Critical Section)이란? :: 마이구미운영체제 2017. 1. 30. 15:09
이번 글은 임계 구역에 대해 다뤄본다.원문을 번역한 글이다. 임계 구역이란 파일, 입출력, 공유 데이터 등 원자적으로 실행할 필요가 있는 명령문 또는 코드의 일부 영역이다. (원자적에 대한 글 참고) 병렬 프로그래밍에서 만약 하나의 스레드가 공유 데이터의 값을 변경을 시도하는 시점에 다른 스레드가 그 값을 읽기를 시도한다면 예측하지 못한 결과가 초래한다. 그렇기에 공유 데이터의 접근에 동기화를 해줘야한다.고급 언어에서는 동기화를 위한 지침들을 제공해준다. (관련 글) 이러한 임계 구역은 지정되어야할 영역에 지정되지 않을 경우 위와 같이 예측하지 못한 결과를 초래한다.이러한 문제를 임계 구역 문제라고 불린다. 해결법은 간단히 아래와 같이 간단히 나타낼 수 있다. acquireLock(); Process C..