Sdílet prostřednictvím


CNonStatelessWorker – třída

Přijímá požadavky z fondu vláken a předává je do pracovního objektu, který je vytvořen a zničen na každém požadavku.

Důležité

Tuto třídu a její členy nelze použít v aplikacích, které se spouští v prostředí Windows Runtime.

Syntaxe

template <class Worker>
class CNonStatelessWorker

Parametry

Pracovní podproces
Třída pracovních vláken odpovídající archetypu pracovního procesu vhodná pro zpracování požadavků zařazených do fronty V CThreadPool.

Členové

Veřejné definice typedef

Název Popis
CNonStatelessWorker::RequestType Implementace WorkerArchetype::RequestType.

Veřejné metody

Název Popis
CNonStatelessWorker::Execute Implementace WorkerArchetype::Execute.
CNonStatelessWorker::Initialize Implementace WorkerArchetype::Initialize.
CNonStatelessWorker::Terminate Implementace WorkerArchetype::Terminate.

Poznámky

Tato třída je jednoduché pracovní vlákno pro použití s CThreadPool. Tato třída neposkytuje vlastní možnosti zpracování požadavků. Místo toho vytvoří instanci jedné instance pracovního procesu na požadavek a deleguje implementaci jejích metod na danou instanci.

Výhodou této třídy je, že poskytuje pohodlný způsob, jak změnit stavový model pro existující třídy pracovních vláken. CThreadPool vytvoří jeden pracovní proces po celou dobu životnosti vlákna, takže pokud třída pracovního procesu obsahuje stav, bude ho obsahovat napříč více požadavky. Když tuto třídu jednoduše zabalíte do CNonStatelessWorker šablony předtím, než ji použijete, CThreadPooldoba života pracovního procesu a stav, který obsahuje, je omezen na jeden požadavek.

Požadavky

Hlavička: atlutil.h

CNonStatelessWorker::Execute

Implementace WorkerArchetype::Execute.

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

Poznámky

Tato metoda vytvoří instanci Třídy Worker v zásobníku a volá Initialize na tomto objektu. Pokud je inicializace úspěšná, tato metoda také volá Execute a Terminate ve stejném objektu.

CNonStatelessWorker::Initialize

Implementace WorkerArchetype::Initialize.

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

Návratová hodnota

Vždy vrátí hodnotu PRAVDA.

Poznámky

Tato třída neprovádí inicializaci v Initialize.

CNonStatelessWorker::RequestType

Implementace WorkerArchetype::RequestType.

typedef Worker::RequestType RequestType;

Poznámky

Tato třída zpracovává stejný typ pracovní položky jako třída použitá pro parametr šablony pracovního procesu . Podrobnosti najdete v přehledu CNonStatelessWorker .

CNonStatelessWorker::Terminate

Implementace WorkerArchetype::Terminate.

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

Poznámky

Tato třída neprovádí žádné vyčištění v Terminate.

Viz také

CThreadPool – třída
Archetyp pracovního procesu
Třídy