Bagikan melalui


Kelas CNonStatelessWorker

Menerima permintaan dari kumpulan utas dan meneruskannya ke objek pekerja yang dibuat dan dihancurkan pada setiap permintaan.

Penting

Kelas ini dan anggotanya tidak dapat digunakan dalam aplikasi yang dijalankan di Windows Runtime.

Sintaks

template <class Worker>
class CNonStatelessWorker

Parameter

Pekerja
Kelas utas pekerja sesuai dengan arketipe pekerja yang cocok untuk menangani permintaan yang diantrekan di CThreadPool.

Anggota

Typedef Publik

Nama Deskripsi
CNonStatelessWorker::RequestType Implementasi WorkerArchetype::RequestType.

Metode Publik

Nama Deskripsi
CNonStatelessWorker::Execute Implementasi WorkerArchetype::Execute.
CNonStatelessWorker::Initialize Implementasi WorkerArchetype::Initialize.
CNonStatelessWorker::Hentikan Implementasi WorkerArchetype::Terminate.

Keterangan

Kelas ini adalah utas pekerja sederhana untuk digunakan dengan CThreadPool. Kelas ini tidak menyediakan kemampuan penanganan permintaan sendiri. Sebaliknya, instans ini membuat instans Pekerja per permintaan dan mendelegasikan implementasi metodenya ke instans tersebut.

Manfaat dari kelas ini adalah menyediakan cara mudah untuk mengubah model status untuk kelas utas pekerja yang ada. CThreadPool akan membuat satu pekerja untuk masa pakai utas, jadi jika kelas pekerja memegang status, itu akan menahannya di beberapa permintaan. Hanya dengan membungkus kelas tersebut CNonStatelessWorker dalam templat sebelum menggunakannya dengan CThreadPool, masa pakai pekerja dan status yang dipegangnya terbatas pada satu permintaan.

Persyaratan

Header: atlutil.h

CNonStatelessWorker::Execute

Implementasi WorkerArchetype::Execute.

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

Keterangan

Metode ini membuat instans kelas Pekerja pada tumpukan dan memanggil Inisialisasi pada objek tersebut. Jika inisialisasi berhasil, metode ini juga memanggil Jalankan dan Hentikan pada objek yang sama.

CNonStatelessWorker::Initialize

Implementasi WorkerArchetype::Initialize.

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

Tampilkan Nilai

Selalu mengembalikan TRUE.

Keterangan

Kelas ini tidak melakukan inisialisasi apa pun di Initialize.

CNonStatelessWorker::RequestType

Implementasi WorkerArchetype::RequestType.

typedef Worker::RequestType RequestType;

Keterangan

Kelas ini menangani jenis item kerja yang sama dengan kelas yang digunakan untuk parameter templat Pekerja . Lihat Ringkasan CNonStatelessWorker untuk detailnya.

CNonStatelessWorker::Hentikan

Implementasi WorkerArchetype::Terminate.

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

Keterangan

Kelas ini tidak melakukan pembersihan apa pun di Terminate.

Lihat juga

Kelas CThreadPool
Arketipe Pekerja
Kelas