다음을 통해 공유


CNonStatelessWorker 클래스

스레드 풀에서 요청을 수신하고 각 요청에 대해 만들어지고 제거되는 작업자 개체에 전달합니다.

Important

이 클래스와 해당 멤버는 Windows 런타임에서 실행되는 애플리케이션에서 사용할 수 없습니다.

구문

template <class Worker>
class CNonStatelessWorker

매개 변수

작업자
CThreadPool에서 큐에 대기 중인 요청을 처리하는 데 적합한 작업자 아키타입을 준수하는 작업자 스레드 클래스입니다.

멤버

공용 Typedefs

속성 설명
CNonStatelessWorker::RequestType WorkerArchetype::RequestType구현입니다.

공용 메서드

이름 설명
CNonStatelessWorker::Execute WorkerArchetype::Execute구현입니다.
CNonStatelessWorker::Initialize WorkerArchetype::Initialize구현입니다.
CNonStatelessWorker::Terminate WorkerArchetype::Terminate구현입니다.

설명

이 클래스는 CThreadPool에서 사용하기 위한 간단한 작업자 스레드입니다. 이 클래스는 자체 요청 처리 기능을 제공하지 않습니다. 대신 요청당 하나의 Worker 인스턴스를 인스턴스화하고 해당 메서드의 구현을 해당 인스턴스에 위임합니다.

이 클래스의 장점은 기존 작업자 스레드 클래스의 상태 모델을 변경하는 편리한 방법을 제공한다는 것입니다. CThreadPool 는 스레드의 수명 동안 단일 작업자를 만들므로 작업자 클래스가 상태를 보유하는 경우 여러 요청에 걸쳐 유지됩니다. 사용하기 전에 템플릿에서 해당 클래스를 CNonStatelessWorker 래핑하면 CThreadPool작업자의 수명 및 해당 클래스가 보유하는 상태가 단일 요청으로 제한됩니다.

요구 사항

헤더: atlutil.h

CNonStatelessWorker::Execute

WorkerArchetype::Execute구현입니다.

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

설명

이 메서드는 스택에 Worker 클래스의 인스턴스를 만들고 해당 개체에서 Initialize를 호출합니다. 초기화에 성공하면 이 메서드는 동일한 개체에서 ExecuteTerminate도 호출합니다.

CNonStatelessWorker::Initialize

WorkerArchetype::Initialize구현입니다.

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

Return Value

항상 TRUE를 반환합니다.

설명

이 클래스는 .에서 Initialize초기화를 수행하지 않습니다.

CNonStatelessWorker::RequestType

WorkerArchetype::RequestType구현입니다.

typedef Worker::RequestType RequestType;

설명

이 클래스는 Worker 템플릿 매개 변수에 사용되는 클래스와 동일한 유형의 작업 항목을 처리합니다. 자세한 내용은 CNonStatelessWorker 개요를 참조하세요.

CNonStatelessWorker::Terminate

WorkerArchetype::Terminate구현입니다.

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

설명

이 클래스는 .에서 Terminate정리를 수행하지 않습니다.

참고 항목

CThreadPool 클래스
Worker 원형
클래스