Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
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.