次の方法で共有


ワーカー用原型クラス

更新 : 2007 年 11 月

ワーカー用原型クラスに準拠するクラスには、スレッド プールのキューに置かれた作業アイテムを処理するコードが用意されています。

実装

この原型に準拠するクラスを実装するには、クラスに次の機能を用意する必要があります。

メソッド

説明

Initialize

要求が Execute に渡される前に、ワーカー オブジェクトを初期化するために呼び出されます。

Execute

作業アイテムを処理するために呼び出されます。

Terminate

すべての要求が Execute に渡された後で、ワーカー オブジェクトを初期化されていない状態にするために呼び出されます。

typedef

説明

RequestType

ワーカー クラスが処理できる作業アイテムの型を示す typedef です。

典型的なワーカー クラスの例を次に示します。

class CMyWorker
{
public:
   typedef MyRequestType RequestType;

   BOOL Initialize(void* pvWorkerParam);

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

   void Terminate(void* pvWorkerParam);
};

既存の実装

次のクラスはこの原型に準拠しています。

クラス

説明

CNonStatelessWorker

スレッド プールからの要求を受け取り、ワーカー オブジェクトに渡します。ワーカー オブジェクトは、要求のたびに作成および破棄されます。

使用方法

次のテンプレート パラメータは、クラスがこの原型に準拠すると想定します。

パラメータ名

使用するクラス

Worker

CThreadPool

Worker

CNonStatelessWorker

必要条件

ヘッダー : atlutil.h

参照

参照

ATL の原型

その他の技術情報

ATL の概念

ATL リファレンス