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

Sungwon Jung님의 프로필 이미지
Sungwon Jung

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part9: MMO 컨텐츠 구현 (DB연동 + 대형 구조 + 라이브 준비)

게임 구조 변경

OnDisconnect에 관한 질문입니다.

작성

·

163

0

위 구문에서 방에서 나가는 작업을 다른 쓰레드로 넘겨주고

아래에서 Remove를 통해 자신을 삭제해주는데,

아래에서 먼저 삭제하고, 다른 쓰레드에서 방에서 나가는 작업을 해줄때 ClientSession을 참조하는 부분에서 에러가 나지 않을까 하는 생각이 들어서 질문 올립니다.

이것도 C# 특성중 참조관리를 통해 MyPlayer가 ClientSession을 참조하고 있으니까 ClientSession이삭제되는건 걱정하지 않아도 되는걸까요?

제가 생각한 해결방법으로는 마지막 문장을 위 문장에 추가해서 다른 쓰레드가 해당 ClientSession도 Remove해주는 방법으로 하면 될거 같은데 괜찮은 방법인지 궁금합니다.

답변 1

0

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

Remove를 통해 삭제한다는게
단순히 SessionManager에서 제거하는 것이지
정말 정말 메모리에서 강제로 날리는 것은 아닙니다.
C#에서는 모든 메모리가 참조 관리를 통해 자동으로 관리되어
누구 하나라도 참조하는 애가 있으면 해당 메모리를 날리지 않기 때문에, 별다른 문제가 없습니다.

Sungwon Jung님의 프로필 이미지
Sungwon Jung

작성한 질문수

질문하기