작성
·
183
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에러가 안나는것으로 이해했습니다
제가 옳게 이해한것이 맞을까요?