네트워크, 서버

JobTimer

춤추는수달 2022. 7. 19. 18:04

이전글https://ddukddaksudal.tistory.com/85

 

JobQueue

JobQueue 란? JobQueue는 처리해야 할 일들을 작업(Job/Task)이라는 단위로 만들고, 그 작업들을 대기열(Queue)에 넣고, 그 대기열에서 작업들을 꺼내서 처리하는 방식을 말한다. 쉽게 말하면 어떤 해야할

ddukddaksudal.tistory.com

이 글은 이전 글에 이어지는 내용입니다.


JobTimer

JobTimer는 즉시 실행되는 것이 아니라, 일정시간 뒤에 실행되길 바라는 Job들을 관리하는 것이다.

주요 아이디어는 예약 실행할 Job들만 따로 모아서 지속적으로 시간을 체크하며 실행 시간이 된 Job들은 기존의 JobQueue에 Distribute(분배)해주는 것이다.

아래는 그 과정을 간단히 도식화 해 보았다.

 

만약 이렇게 예약 Job들을 한 데 모아 관리하지 않으면 모든 JobQueue들을 살펴보고 남은 시간을 계산해야 하므로 CPU낭비가 발생할 것이다.


참고: https://www.inflearn.com/course/%EC%96%B8%EB%A6%AC%EC%96%BC-3d-mmorpg-4/dashboard

 

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버 - 인프런 | 강의

네트워크/멀티쓰레드/운영체제 등 핵심 전공 지식을 공부하고 게임 서버를 바닥부터 만들어보면서 MMORPG 기술을 학습하는 강의입니다. 신입 서버 프로그래머가 알아야 전반적인 지식을 모두 훑

www.inflearn.com

 

'네트워크, 서버' 카테고리의 다른 글

NonBlocking Socket  (0) 2022.11.07
소켓 프로그래밍  (0) 2022.11.02
JobQueue  (0) 2022.07.16
Google Protocol Buffer  (0) 2022.07.07
Completion Port 모델  (0) 2022.04.30