Compartir a través de


CNonStatelessWorker (clase)

Recibe solicitudes de un grupo de subprocesos y las pasa a un objeto de trabajo que se crea y destruye en cada solicitud.

Importante

Esta clase y sus miembros no se pueden usar en las aplicaciones que se ejecutan en Windows Runtime.

Sintaxis

template <class Worker>
class CNonStatelessWorker

Parámetros

Trabajador
Una clase de subproceso de trabajo que se ajusta al arquetipo de trabajo adecuado para controlar las solicitudes en cola en CThreadPool.

Miembros

Definiciones de tipos públicas

Nombre Descripción
CNonStatelessWorker::RequestType Implementación de WorkerArchetype::RequestType.

Métodos públicos

Nombre Descripción
CNonStatelessWorker::Execute Implementación de WorkerArchetype::Execute.
CNonStatelessWorker::Initialize Implementación de WorkerArchetype::Initialize.
CNonStatelessWorker::Terminate Implementación de WorkerArchetype::Terminate.

Comentarios

Esta clase es un simple subproceso de trabajo que se utiliza con CThreadPool. Esta clase no proporciona ninguna funcionalidad de control de solicitudes propia. En su lugar, crea una instancia de una instancia de Worker por solicitud y delega la implementación de sus métodos en esa instancia.

La ventaja de esta clase es que proporciona una manera cómoda de cambiar el modelo de estado para las clases de subproceso de trabajo existentes. CThreadPool creará un único trabajo durante la vigencia del subproceso, por lo que si la clase de trabajo contiene el estado, lo contendrá en varias solicitudes. Simplemente ajustando esa clase en la plantilla CNonStatelessWorker antes de usarla con CThreadPool, la duración del trabajo y el estado que contiene se limita a una sola solicitud.

Requisitos

Header: atlutil.h

CNonStatelessWorker::Execute

Implementación de WorkerArchetype::Execute.

void Execute(
    Worker::RequestType request,
    void* pvWorkerParam,
    OVERLAPPED* pOverlapped);

Comentarios

Este método crea una instancia de la clase Worker en la pila y llama a Initialize en ese objeto. Si la inicialización se realiza correctamente, este método también llama a Execute y Terminate en el mismo objeto.

CNonStatelessWorker::Initialize

Implementación de WorkerArchetype::Initialize.

BOOL Initialize(void* /* pvParam */) throw();

Valor devuelto

Siempre devuelve TRUE.

Comentarios

Esta clase no realiza ninguna inicialización en Initialize.

CNonStatelessWorker::RequestType

Implementación de WorkerArchetype::RequestType.

typedef Worker::RequestType RequestType;

Comentarios

Esta clase controla el mismo tipo de elemento de trabajo que la clase usada para el parámetro de plantilla Worker. Consulte Introducción a CNonStatelessWorker para obtener detalles.

CNonStatelessWorker::Terminate

Implementación de WorkerArchetype::Terminate.

void Terminate(void* /* pvParam */) throw();

Comentarios

Esta clase no realiza ninguna limpieza en Terminate.

Consulte también

CThreadPool (clase)
Worker (arquetipo)
Clases