Session Send 멀티스레드 관련
안녕하세요 Session쪽 Send 만들어 보고 있습니다.
구현하면서 궁금한게
Send에서 lock을 잡고 RegisterSend쪽에서는 lock을 잡지 않는 상황인데
RegisterSend에서 하나의 스레드가 들어와서 while문을 돌면서 sendQueue를 Dequeue하고 있는데
이 과정에서 다른 스레드가 Send에서 sendQueue Enqueue를 할 수 있지 않나 생각이 듭니다.
그래서 RegisterSend에서 적어도 while문에는 lock을 걸어줘야 공유자원 _sendQueue에 대해서 안전하게 처리 될 수 있지 않나라고 생각 하는데
만약 안전하다면 왜 안전한지에 대해서 듣고 싶습니다.
감사합니다!
답변 1
0
RegisterSend 자체에서는 락을 잡지 않으나,
RegisterSend를 호출하는 쪽 (Send와 OnSendCompleted)에서
모두 락을 잡고 있어서 _sendQueue 경합 문제는 발생하지 않습니다.
학습 전 커리큘럼 관련 질문 드립니다
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





