• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

19:10초 부분 질문있습니다!

21.09.08 15:06 작성 조회수 132

1

public override void OnDisconnected(EndPoint endPoint)

{  

SessionManager.Instance.Remove(this);


if (Room != null) 

{

GameRoom room = Room;

room.Push(() => room.Leave(this));  

Room = null;

}

}
===========================================
여기서 푸쉬를 하는건 
주문서에 적고 주방에 밀어넣는것인데 만약에
Room.Leave()를  큐에 넣고, Room = null로 바꿀시
Room.Leave()는 큐에서 대기하느라 실행도안되었는데
null로 값이 바뀐상태여서

Room이 null값 에러가 나는것인가요?


그래서 Room의 주소값을 참조하는 room을 만들어
room을 큐에 밀어넣어주고 , Room을 Null로 바꾸어도

큐에 대기하다가 함수처리를할때 Room을 참조하는 room
함수를 실행하기에,   Null에러가 안나는것으로 이해했습니다

제가 옳게 이해한것이 맞을까요?

답변 1

답변을 작성해보세요.

2

네 잘 이해하셨습니다.