ワーカー用原型クラス
ワーカー用原型クラスに準拠するクラスには、スレッド プールのキューに置かれた作業アイテムを処理するコードが用意されています。
実装
この原型に準拠するクラスを実装するには、クラスに次の機能を用意する必要があります。
方法 |
説明 |
---|---|
要求が Execute に渡される前に、ワーカー オブジェクトを初期化するために呼び出されます。 |
|
作業アイテムを処理するために呼び出されます。 |
|
すべての要求が Execute に渡された後で、ワーカー オブジェクトを初期化されていない状態にするために呼び出されます。 |
typedef |
説明 |
---|---|
ワーカー クラスが処理できる作業アイテムの型を示す typedef です。 |
典型的なワーカー クラスの例を次に示します。
class CMyWorker
{
public:
typedef MyRequestType RequestType;
BOOL Initialize(void* pvWorkerParam);
void Execute(MyRequestType request, void* pvWorkerParam, OVERLAPPED* pOverlapped);
void Terminate(void* pvWorkerParam);
};
既存の実装
次のクラスはこの原型に準拠しています。
Class |
説明 |
---|---|
スレッド プールからの要求を受け取り、ワーカー オブジェクトに渡します。ワーカー オブジェクトは、要求のたびに作成および破棄されます。 |
使用方法
次のテンプレート パラメーターは、クラスがこの原型に準拠すると想定します。
パラメーター名 |
[次のリソースで使用] |
---|---|
Worker |
|
Worker |
要件
**ヘッダー:**atlutil.h