해결된 질문
작성
·
295
0
1) 강의에 나온 코드에서는 생산자와 소비자가 각각 하나씩의 쓰레드로 존재하고 생산자는 sleep_for를 이용한 텀이 있기에 문제되진 않겠지만 만약 생산자나 소비자의 쓰레드가 하나가 아니거나 생산자의 텀이 불규칙해지면 Event의 Signal의 상태에 RaceCondition이 일어날 수 있나요?
2) SetEvent나 ResetEvent는 커널에게 해당 HANDLE의 signal의 상태에 대한 변경을 요청하는 거 같은데 문맥교환이 일어나나요?
답변 1
2
1) 네 일부 쓰레드가 깨어나지 않는 등 문제가 복잡해질 수 있습니다.
2) 그렇습니다. 애당초 이벤트 같은 복잡한 애들을 OS가 아닌, 유저 레벨에서 뚝딱 건드릴 방법은 없습니다.