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 |
---|---|
Aufgerufen, um das Workerobjekt vor allen Anforderungen zu initialisieren werden zu Führen Sie aus übergeben. |
|
Aufgerufen, um eine Arbeitsaufgabe zu verarbeiten. |
|
Aufgerufen, um die Anforderungen des Workerobjekts zu deinitialisieren schließlich sind zu Führen Sie aus übergeben wurde. |
TypeDef |
Description |
---|---|
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 |
---|---|
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 |
|
Worker |
Anforderungen
Header: atlutil.h