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

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

HH Kim님의 프로필 이미지
HH Kim

작성한 질문수

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

JobQueue #5

JobQueue Push 부분관련해서 질문이 있습니다

작성

·

290

0

제목 없음.pngPush 부분에서 LCurrentJobQueue가 nullptr이면 Execute를 하고 있는데, else 부분으로 떨어지는 경우가 어떻게 생기는지 이해가 잘 가지않습니다.

LCurrentJobQueue는 쓰레드마다 고유하게 가지고있는 큐인데, Execute를 할때는 LCurrentJobQueue가 this가 되면서 nullptr가 아닐 수 있지만 while 반복문이 끝나야만 nullptr가 되고 Push가 실행될 수 있는데, 다른 쓰레드가 접근 불가능한 LCurrentJobQueue가 Push 실행 시 nullptr가 아닐 수 있나요?

답변 1

1

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

일감을 실행한다는 것은 결국 어떤 함수를 호출하는 것인데,
그 함수에서 하필 또 JobQueue에 Push하는 경우가 있다면,
말씀하신 상황이 발생할 수 있겠죠.

HH Kim님의 프로필 이미지
HH Kim
질문자

아 그렇군요 이해가 갑니다!

HH Kim님의 프로필 이미지
HH Kim

작성한 질문수

질문하기