인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

essenger M님의 프로필 이미지
essenger M

작성한 질문수

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

Lock-Free Stack #1

TryPop과 WaitPop

작성

·

233

0

TryPop에서는 stack이 비어있을떄 return false를 하여도 해당 쓰레드가 cpu의 권한을 포기하지않는것에 반해  WaitPop에서 cv로 할 경우에는 cpu의 권한을 포기함으로서 쓰레드들끼리의 cpu 점유 권한에 대한 경쟁을 줄일 수 있다고 생각하고 있는데 맞는지 모르겠습니다.

답변 2

0

essenger M님의 프로필 이미지
essenger M
질문자

답변 정말 감사드립니다..!

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

네 맞습니다.
극단적으로 예를 들어 1년 동안 stack이 비어있다면,
전자의 경우에는 1년 동안 꾸준히 [stack이 비어 있습니까?]를
지속적으로 CAS을 이용해 체크하면서 무식하게 시간을 낭비하지만
후자는 깨어날 일 없이 그냥 계속 잠들어 있게 됩니다.

essenger M님의 프로필 이미지
essenger M

작성한 질문수

질문하기