해결된 질문
작성
·
39
0
-
수업을 듣다가 궁금한 점이 생겨서 문의드립니다.
임계구역에은 하나의 프로세스만 진입하고, 최대한 빠르게 나와야 된다고 말씀하셨는데, 만약 임계구역 안에서 컨텍스트 스위칭이 이루어질 경우에는 어떻게 되나요?
해당 프로세스가 대기상태이지만 여전히 임계구역에서 나온건 아니니, 다른 프로세스는 진입할 수 없나요?
만약 진입할 수 없는 경우에는 이 임계구역에 대한 요청이 쌓이게될텐데 이런 경우 어떻게 해결해야하나요?
답변 1
1
안녕하세요 윤지영님!
임계영역에서 나오지 않는다면 다른 프로세스(쓰레드)는 진입할 수 없습니다.
하지만 해당 프로세스(쓰레드)가 임계영역을 나오지 않는다면 해당 임계영역에 접근하는 다른 프로세스(쓰레드)는 계속 기다리기 때문에 개발자가 원하는 동작을 하지 못하게 됩니다.
따라서 꼭 보호돼야 하는 구역에만 작은 임계영역을 설정하는게 중요합니다.
궁금증이 해결되셨나요?😊