Delen via


Klasse CNonStatelessWorker

Opmerking

De ATL (Active Template Library) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.

Ontvangt aanvragen van een threadpool en geeft deze door aan een werknemerobject dat bij elke aanvraag wordt gemaakt en vernietigd.

Belangrijk

Deze klasse en de bijbehorende leden kunnen niet worden gebruikt in toepassingen die worden uitgevoerd in Windows Runtime.

Syntaxis

template <class Worker>
class CNonStatelessWorker

Parameterwaarden

Arbeider
Een werkrolthreadklasse die voldoet aan het werkrol-archetype dat geschikt is voor het verwerken van aanvragen in de wachtrij op CThreadPool.

Leden

Openbare typedefs

Naam Description
CNonStatelessWorker::RequestType Implementatie van WorkerArchetype::RequestType.

Openbare methoden

Naam Description
CNonStatelessWorker::Execute Implementatie van WorkerArchetype::Execute.
CNonStatelessWorker::Initialize Implementatie van WorkerArchetype::Initialize.
CNonStatelessWorker::Terminate Implementatie van WorkerArchetype::Terminate.

Opmerkingen

Deze klasse is een eenvoudige worker-thread voor gebruik met CThreadPool. Deze klasse biedt geen eigen mogelijkheden voor het verwerken van aanvragen. In plaats daarvan wordt één exemplaar van Worker per aanvraag geïnstitueerde en wordt de implementatie van de methoden naar dat exemplaar gedelegeerd.

Het voordeel van deze klasse is dat het een handige manier biedt om het statusmodel voor bestaande werkthreadklassen te wijzigen. CThreadPool maakt één werkrol voor de levensduur van de thread, dus als de werkrolklasse de status heeft, wordt deze in meerdere aanvragen opgeslagen. Door die klasse in de CNonStatelessWorker sjabloon te verpakken voordat u deze gebruikt CThreadPool, is de levensduur van de werkrol en de status die deze bevat beperkt tot één aanvraag.

Requirements

Header: atlutil.h

CNonStatelessWorker::Execute

Implementatie van WorkerArchetype::Execute.

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

Opmerkingen

Met deze methode maakt u een exemplaar van de werkrolklasse op de stack en roept u Initialize aan voor dat object. Als de initialisatie is geslaagd, roept deze methode ook Execute en Terminate aan op hetzelfde object.

CNonStatelessWorker::Initialize

Implementatie van WorkerArchetype::Initialize.

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

Retourwaarde

Retourneert altijd WAAR.

Opmerkingen

Deze klasse voert geen initialisatie uit in Initialize.

CNonStatelessWorker::RequestType

Implementatie van WorkerArchetype::RequestType.

typedef Worker::RequestType RequestType;

Opmerkingen

Deze klasse verwerkt hetzelfde type werkitem als de klasse die wordt gebruikt voor de parameter Worker-sjabloon . Zie het overzicht van CNonStatelessWorker voor meer informatie.

CNonStatelessWorker::Terminate

Implementatie van WorkerArchetype::Terminate.

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

Opmerkingen

Deze klasse maakt geen opschoning in Terminate.

Zie ook

CThreadPool-klasse
Werkersarchetype
Klassen