-
카테고리
-
세부 분야
게임 프로그래밍
-
해결 여부
미해결
Room에서 _objects 자료구조는 안전한가요?
24.02.04 20:16 작성 조회수 214
0
bool Handle_C_LEAVE_GAME(PacketSessionRef& session, Protocol::C_LEAVE_GAME& pkt)
{
auto gameSession = static_pointer_cast<GameSession>(session);
PlayerRef player = gameSession->player.load();
if (player == nullptr)
return false;
RoomRef room = player->room.load().lock();
if (room == nullptr)
return false;
room->HandleLeavePlayer(player);
return true;
}
잡큐에서 처리를 한다면 문제가 발생하지 않을거로 보이지만, 잡큐에서 실행하지 않고 room->HandleLeavePlayer 함수를 직접 호출하고 있습니다. _objects 자료구조에 접근하여 제거하는데요 Thread Safe 하지 않을거로 보여서요. 혹시 의도된건지 궁금합니다. 코드 흐름상 이정도는 알아서 수정하세요라는 느낌이 강하지만 혹시나해서 여쭤봅니다.
답변을 작성해보세요.
0
이성원
질문자2024.02.05
강의를 다시 보니, 영상에서 수정하는 모습이 담겨있네요. 최종본에서 어떤 이유로 수정이 이상하게 올라갔는지 모르겠네요. 강의 잘 보고 있습니다. 감사합니다!
답변 1