멀티 스레드 관련 의문점
181
작성한 질문수 23
안녕하세요 강의 잘 보고 있습니다.
코드를 보면서 멀티 스레드 관련해서 궁금한게 있어 질문 남깁니다.
1.ClientSession에서 Lock을 잡지 않는 이유는 Receive쪽에서 하나의 스레드만 들어오기(낚시대 비유) 때문에 안걸어도 되는건가요? 즉 하나의 스레드가 메서드 안의 메서드를 타고 타고 들어와서 안전한건가요?
2. 1번이 맞다면 ClientSession 에서 GameLogic Push 하는 이유는 스레드 안전성 때문이라기보단 멀티 스레드를 활용하기 위함이라 보면 될까요?
답변 1
0
1은 맞지만 2부터는 공용 공간 (Room)으로 모든 ClientSession들이 로직을 토스하니
Receive와 무관하게 멀티쓰레드 환경에 처하게 됩니다.
그리하여 Job을 새로 만들어서 Push하고 있는 것입니다.
(이게 아니라면 락을 걸고 처리해야 하는데 그러면 멀티쓰레드 효과를 보지 못함)
이 부분은 온라인 컨텐츠를 만드는 강의에서 반복해서 강조할 정도로 중요한 내용인데,
아직 완벽히 이해를 못하신 것 같으니 기회가 되면
C# Part4 게임 서버의 Job 관련된 내용을 다시 복습해보세요.
학습 전 커리큘럼 관련 질문 드립니다
0
112
1
강의 커리큘럼 질문 드립니다
0
62
1
수업질문은 아닌데요^^
0
117
1
게임 로직 루프에서 게임 틱 누락으로 인한 높은 CPU 사용 문제
0
85
1
선 이동과 히트 판정에 대해 질문 드립니다.
0
91
1
Job Scheduler - Cache locality
0
76
2
MMO 3D 게임 서버의 스킬 판정을 어떻게 하면 좋을까요?
0
190
2
코드 머지와 관련하여.
0
95
1
퀘스트 처리 시 궁금한게 있습니다.
0
116
2
Nagle Algorithm
0
100
1
현재 강의를 이용하여 3D 게임을 만들 경우 변경되야 될 사항들에 대해 궁금합니다.
0
134
2
ResourceManager에서 Multiple Sprite를 로드하는 방법
0
102
1
M2는 업데이트가 끝난건가요?
0
149
1
Interpolation & Server Tick Frequency
0
172
2
서버에서 디스커넥트되시는분들 JWT 관련 참고하셔요
0
121
1
aws 와 microsoft azure 중 aws 선택하신 이유가 궁금합니다.
0
189
1
강의는 끝인건가요?
0
332
2
아이템 강화 테이블 관련
0
226
2
강의 관련 질문 드립니다.
0
238
1
리니지1의 이동 질문
0
402
2
버그에대한 썰
0
132
1
포탈 프로젝트에 서버 코드에 에러가 뜨네요
0
139
1
아이템 수량에 관해서 질문입니다.
0
143
1
퀘스트 관련 질문 드립니다.
0
144
1





