목록2025/04/23 (1)
나만의 작은 도서관
[TIL][C++] 250422 MMO 서버 개발 2일차: 서버 설계에 대한 고민사항, 멀티 쓰레드 환경에서의 쓰레드 배치에 대한 고찰, 모든 쓰레드들이 균등하게 JobQueue를 실행하도록 설계하기 + 예약된 Job
주의사항: 해당 글은 일기와 같은 기록용으로, 다듬지 않은 날것 그대로인 글입니다. 멀티 쓰레드 환경에서의 쓰레드 배치에 대한 고찰쓰레드를 어떻게 배치해야 효율적인가?서버 프로그램을 제작한다고 했을때, 아래 4가지 역할을 맡는 쓰레드가 있을 것이다.리스너: 새로운 유저의 연결(Connect)를 담당패킷 처리: 네트워크를 통해 온 패킷을 받아 역직렬화인게임 로직 처리: 역직렬화된 데이터를 토대로 게임 컨텐츠 코드를 실행DB: 데이터 베이스(DB)와 통신하나의 서버 프로그램에서는 쓰레드를 30개 정도 배치할 정도로 쓰레드를 많이 배치하는데, 위 4가지 역할을 맡는 쓰레드의 비율이 어떻게 되어야하는지가 중요하다. CPU 부하를 많이 주는 작업은 1) 패킷 처리와 2) 인게임 로직 처리로, 이 둘 중에서도 ..
Today I Learn
2025. 4. 23. 00:10