작성한 질문수
[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
Listener
작성
·
263
2
안녕하세요. 강의 유익하게 잘 듣고있습니다. 궁금한 점이 있어서 질문을 올려봅니다.
영상 거의 끝부분에 보면, 서버 프로그램의 while문에서 무한 루프를 돌다가 이벤트가 발생하면 OnAcceptHandler 를 실행시키는 형식으로 되어있는데,
질문은, 서버 프로그램은 Main함수의 while문에서 무한 루프에 빠져있는데, 이벤트가 발생하면 어떻게 while문에서 탈출해서 OnAcceptHandler 함수로 뿅하고 가서 실행하는지 궁금합니다.
답변 3
3
ㅎㅎㅎ 무한루프 지옥에서는 아무도 빠져나올 수 없습니다.메인 쓰레드가 아닌 다른 쓰레드가 처리하는 것이죠!실제로 OnAcceptHandler에 BreakPoint을 걸어두고쓰레드 상황을 살펴보시면 됩니다.
위 부분을 바꾸면 쓰레드를 왔다갔다 할 수 있습니다.
네 비슷합니다.C#에선 쓰레드 풀에서 관리되는 쓰레드 중 하나를 꺼내쓰게 됩니다.(C++이었다면 직접 쓰레드를 새로 만들어서 등록을 해놔야 합니다.)
1
답변 감사합니다!
이벤트 함수를 호출하기 위해 운영체제에서 자동적으로 스레드를 하나 만드나 보네요.