멀티스레드 환경에서 스레드 간의 협업을 설계할 때, 무작정 기다리는 것(Busy-wait)은 자원 낭비입니다.유저 레벨에서 효율적으로 스레드 간 신호를 주고받을 수 있는 Condition Variable(조건 변수)가 있습니다. Condition Variable은 유저 레벨 오브젝트(User-Level Object)입니다.가벼운 동기화: 커널 오브젝트(Event, Semaphore 등)가 프로세스 간(Inter-process) 동기화가 가능해 무거운 커널 모드 전환을 동반하는 반면, Condition Variable은 동일한 프로세스 내 스레드 간 동기화에 최적화되어 있어 상대적으로 가볍고 빠릅니다.배타적 제어와 신호: 단순히 "기다려라"가 아니라, 특정 "조건"이 만족될 때까지 스레드를 효율적으로 휴식..