Поделиться через


Архетип работы

Классы, соответствующие архетипу рабочего процесса предоставляют код в очереди элементы работы в пуле потоков.

Реализация

Чтобы реализовать класс, соответствующий этому архетипу, класс должен предоставлять следующие функции:

Метод

Описание

Инициализация

Вызываемый для инициализации объекта работу перед всеми запросами передайте в Execute.

Выполнение

Вызываемый для обработки рабочий элемент.

Завершить

Вызываемый для uninitialize объект работу после того, как все запросы будут переданы Execute.

Определение типа

Описание

RequestType

Typedef для типа рабочего элемента, который может быть обработан классом рабочего процесса.

Типичный класс работы выглядит следующим образом:

class CMyWorker
{
public:
   typedef MyRequestType RequestType;

   BOOL Initialize(void* pvWorkerParam);

   void Execute(MyRequestType request, void* pvWorkerParam, OVERLAPPED* pOverlapped);

   void Terminate(void* pvWorkerParam);
};

Существующие реализации

Эти классы соответствующих этому архетипу:

Класс

Описание

CNonStatelessWorker

Получает запросы из пула потоков и передает их в объект работы, создание и уничтожается для каждого запроса.

Применение

Эти параметры шаблона ожидают класс, чтобы соответствовать этому архетипу:

Имя параметра

Использующие элементы

Рабочий

CThreadPool

Рабочий

CNonStatelessWorker

Требования

Header: atlutil.h

См. также

Ссылки

Архетипы библиотеки ATL

Другие ресурсы

Основные понятия библиотеки ATL

Компоненты рабочего стола модели COM библиотеки ATL