inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

_popCount에 관한 질문입니다.

해결됨

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

지금 해당 코드에 대해서 4번째 의심하고있는 학생입니다. 찾아보니 유사한 질문이 있음에도 이해가 되질 않아 먼저 해당 글부터 링크 걸어두겠습니다. https://www.inflearn.com/questions/365349 _pendingList와 _popCount를 atomic으로 선언해서 사용하고 있는 상황인데 if (_popCount == 1) { // 여기부터 Node* node = _pendingList.exchange(nullptr); // 이 사이에 if (--_popCount == 0) { DeleteNode(node); } else if (node) { ChainPendingNodeList(node); } delete oldHead; 저 주석 사이에 둘 이상의 스레드가 동시에 접근 할 수 있는 건가요? 그리고 접근 할 수 있어도, 혹은 다른 함수에서(ChainPendingNodeList) _pendingList에 접근을 시도해도 exchange 연산을 통해 분리해내는데 둘 이상의 스레드가 동시에 같은 포인터를 잡고있는 상황이 있을 수 있나요?

  • atomic
  • network
  • LockFreeStack
  • windows-server
  • MMORPG
장인석 댓글 1 좋아요 0 조회수 459

인기 태그

인프런 TOP Writers

주간 인기글