작성
·
233
0
TryPop에서는 stack이 비어있을떄 return false를 하여도 해당 쓰레드가 cpu의 권한을 포기하지않는것에 반해 WaitPop에서 cv로 할 경우에는 cpu의 권한을 포기함으로서 쓰레드들끼리의 cpu 점유 권한에 대한 경쟁을 줄일 수 있다고 생각하고 있는데 맞는지 모르겠습니다.
답변 2
0
0
네 맞습니다.
극단적으로 예를 들어 1년 동안 stack이 비어있다면,
전자의 경우에는 1년 동안 꾸준히 [stack이 비어 있습니까?]를
지속적으로 CAS을 이용해 체크하면서 무식하게 시간을 낭비하지만
후자는 깨어날 일 없이 그냥 계속 잠들어 있게 됩니다.