작성한 질문수
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
Lock-Free Stack #1
작성
·
270
0
질문.1
push 쪽에서 node->next = head; 이 로직이 실행 된 이후 head.compareexchange_weak 이 실행 되기전pop 이 다른스레드에 의해서 먼저 실행 된다면 _head 값이 달라질것이고 이와 반대 되는 상황도 있을것 같은데
그럴때에도 정상 작동 하는건가요?
질문2.
반대로 pop 쪽에서 먼저 실행되고 질문1 처럼 실행 됐을때도 정상 작동 하는 걸까요?
답변 1
1
물론 그런 부분까지 고려해서 설계된 코드입니다. (제가 한건 아니고 ^^;)여러가지 끼어드는 상황을 가정하고 분석을 정밀히 해보시기 바랍니다.