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
'Programming > System Programming' 카테고리의 다른 글
윈도우즈 시스템 프로그래밍 - 16. 컴퓨터 구조에 대한 네 번째 이야기(2) (0) | 2020.08.11 |
---|---|
윈도우즈 시스템 프로그래밍 - 16. 컴퓨터 구조에 대한 네 번째 이야기(1) (0) | 2020.08.11 |
윈도우즈 시스템 프로그래밍 - 15. 쓰레드 풀링(1) (0) | 2020.08.09 |
윈도우즈 시스템 프로그래밍 - 14. 쓰레드 동기화 기법2(3) (0) | 2020.08.09 |
윈도우즈 시스템 프로그래밍 - 14. 쓰레드 동기화 기법2(2) (0) | 2020.08.09 |