DEV/lib

vs2010 sample for c++ [1] CThreadPool

MasterJ 2013. 2. 27. 16:09

 

 

msdn 에서 제공하는 c++ 용 샘플코드

관심있는 사람은 보겠지만

비쥬얼 스튜디오를 실행하면 나오는 시작페이지에는 여러 즐거운? 내용들이 많이있다.

 

그중에 샘플을 프로젝트들을 제공하기도 한다 .

http://archive.msdn.microsoft.com/vcsamples

요 내용들을 가지고 놀아보자

 

아무거나 보다보니 ThreadPool 이 있더라

근데 샘플인데 코드에 탭들이 ..정말 장난 아님 ..

보면 atl 라이브러리 에 등록된 CTrheadPool 을 이용한다.

 

정리하자면   생성-> 작업등록 -> 작업 기다림 ->파괴

인데  아래 샘플에는 작업 의 모두 성공의 기다림은 없고 모두 파괴이다.

 

CthreadPool 템플릿에 CmyWorker  작업클래스 기준하여 생성

CreateTasks 를통하여 CTaskBase 자료 클래스 생성 하여 전달

QueueRequest  함수통하여 스레드풀에 입력

그냥 슬립으로 기다림 후 태스크 자료 클래스 해제후 shutdown 끝

 

뭐 그냥 코딩 해서 써두 되지만 atl CthreadPool 을쓰면 

작업처리 스레드 갯수 설정이 쉽고 작업 을 입력하는데 있어서 매우 편리하다.

 

알고 있다고 생각하며 코딩 을하지만 실제로 쓰지 않는경우가 많다.. 익숙하지 않아서..

그러므로 자주봐야겟지 이것저것.

 

 

아래코드


   ThreadPool.cpp

 

tasks.h

Worker.h