728x90

쓰레드 풀의 구현

- 작업 할당, 쓰레드 관리를 위한 모델

typedef void(*WORK)(void);		// 작업
 
typedef struct __WorkThread
{
    HANDLE hThread;
    DWORD idThread;
 
} WorkerThread;
// Thread 정보 저장
 
struct __ThreadPool
{
    WORK worklist[WORK_MAX];	// 할당한 일을 저장할 배열
 
    WorkerThread workerThreadList[THREAD_MAX];	    // 쓰레드 정보 저장
    HANDLE workerEventList[THREAD_MAX];				// 이벤트 오브젝트 저장 
 
    DWORD idxOfCurrentWork;  
    DWORD idxOfLastAddedWork;		// 인덱스 정보  
 
    DWORD threadidx  // Pool에 존재하는 Thread의 개수
 
} gThreadPool;
// 실질적인 쓰레드 풀

728x90

+ Recent posts