Example #1
0
unsigned __stdcall TaskQueue::Thread(void *argList) {

	DWORD threadID = GetCurrentThreadId();
	Task * task;
	TaskQueue * taskQueue = (TaskQueue *)argList;
	while(1)
	{
		taskQueue->logger->Log(LOG_DEFAULT, L"Thread[%d] Before GetTask().\n", threadID);
		task = taskQueue->GetTask();
		taskQueue->logger->Log(LOG_DEFAULT, L"Thread[%d] After GetTask().\n", threadID);

		if (task)
		{
			task->Run();
			taskQueue->logger->Log(LOG_DEFAULT, L"Thread[%d] Task complete.\n", threadID);
		}
		else
			break;
	}

	taskQueue->logger->Log(LOG_DEFAULT, L"Thread[%d] Before exit.\n", threadID);

	return 0;
}