Freigeben über


Worker Archetype

Klassen, die an den Workerprototyp entsprechen, stellen den Code zu den Prozessarbeitsaufgaben bereit, die in einem Threadpool in die Warteschlange gestellt werden.

Implementierung

Um eine Klasse in Übereinstimmung mit diesem Prototyp zu implementieren, muss die Klasse die folgenden Features bereitstellen:

Methode

Description

Initialisieren

Aufgerufen, um das Workerobjekt vor allen Anforderungen zu initialisieren werden zu Führen Sie aus übergeben.

Ausführen

Aufgerufen, um eine Arbeitsaufgabe zu verarbeiten.

Beenden

Aufgerufen, um die Anforderungen des Workerobjekts zu deinitialisieren schließlich sind zu Führen Sie aus übergeben wurde.

TypeDef

Description

RequestType

Typedef für den Arbeitsaufgabentyp, der durch die Workerklasse verarbeitet werden kann.

Eine typische Workerklasse sieht wie folgt aus:

class CMyWorker
{
public:
   typedef MyRequestType RequestType;

   BOOL Initialize(void* pvWorkerParam);

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

   void Terminate(void* pvWorkerParam);
};

Vorhandene Implementierungen

Diese Klassen passen sich an diesen Prototyp:

Klasse

Description

CNonStatelessWorker

Empfängt Anforderungen aus dem Threadpool und leitet sie an ein Workerobjekt weiter, das für jede Anforderung erstellt und zerstört wird.

Verwendung

Diese Vorlagenparameter erwarten die Klasse, um es diesem Prototyp anzupassen:

Parametername

Verwendet von

Worker

CThreadPool

Worker

CNonStatelessWorker

Anforderungen

Header: atlutil.h

Siehe auch

Referenz

ATL Archetypes

Weitere Ressourcen

ATL-Konzepte (Active Template Library)

ATL COM Desktop Components