
Q&A - 묻고 답하기
안녕하세요
AI와 같이 루프가 필요한 부분은 어떤식으로 구성해야 되는지 궁금해서 질문드립니다
참고 자료나 기타 샘플이 있으면 조언부탁드립니다
2011.09.16 14:57:45
늦었지만 도움이 될가 해서 적어 봅니다.
www.webhard.co.kr 사이트에 ID:leeyh691 PW:free
로 들어가보시면 최근 소스가 있는데.. 거기 템플릿 라이브러리중에..
template <class KEY, class ALLOC>
void
CDispatchPriorityPool;
라는 것이 있습니다. 객체 생성후 쓰레드 갯수를 지정해 주고 나서
작업에 필요한 객체를
-- 예..
_DUNGEON_T* pcDungeon = new _DUNGEON_T(1);
m_cDpp.Add(1, pcDungeon);
m_cDpp.Enqueue(1, 1);
pcDungeon->Release();
이런식으로 추가하면.. 이 _DUNGEON_T이 객체가 깨어날 주기에 맞추어 쓰래드가 가져가 실행해 줍니다.
여러개의 객체가 스케줄에 맞추어 쓰래드에 의해 fetch된 후 처리되도록 하고자 작성한 템플릿입니다.
지금 작업시작한 서버의 소스일부를 첨부해 봅니다.. 다 보실 필요는 없고..
OcfExtTimer와 연동해서 사용하는 부분만 보시면 도움이 되실지도 모르겠네요,. 파일이 올라가지 않는 관계로.. www.webhard.co.kr에 올려 봅니다.
라이브러리 Base쪽에 ThreadCtrl.h와 ThreadContainer.h 쪽을 참고해서 쓰레드를 생성하시면 될거 같습니다.
단순 쓰레드면 CBaseThread 만으로 될거구요, 여러 쓰레드를 생성해서 관리한다면 쓰레드 컨테이너 활용하시면 될거 같습니다.