Freigeben über


CWorkerThread Class

Diese Klasse erstellt einen Arbeitsthread oder verwendet eine vorhandene, wartet auf eine oder mehrere Kernelobjekthandles und führt eine angegebene Clientfunktion aus, wenn eines der Handles signalisiert wird.

Wichtig

Diese Klasse und ihre Member können in Anwendungen nicht verwendet werden, die in der Windows Runtime ausführen.

template < 
class ThreadTraits= DefaultThreadTraits 
> 
class CWorkerThread

Parameter

Mitglieder

Geschützte Strukturen

Name

Description

WorkerClientEntry

Öffentliche Konstruktoren

Name

Description

CWorkerThread::CWorkerThread

Der Konstruktor für den Arbeitsthread.

CWorkerThread::~CWorkerThread

Der Destruktor für den Arbeitsthread.

Öffentliche Methoden

Name

Description

CWorkerThread::AddHandle

Rufen Sie diese Methode auf, um das Handle eines Objekts wait-fähigen der Liste hinzuzufügen, die durch den Arbeitsthread gespeichert werden.

CWorkerThread::AddTimer

Rufen Sie diese Methode auf, um einen regelmäßigen waitable Zeitgeber der Liste hinzuzufügen, die durch den Arbeitsthread gespeichert werden.

CWorkerThread::GetThreadHandle

Rufen Sie diese Methode auf, um das Threadhandle des Arbeitsthreads abzurufen.

CWorkerThread::GetThreadId

Rufen Sie diese Methode auf, um die Thread-IDs des Arbeitsthreads abzurufen.

CWorkerThread::Initialize

Rufen Sie diese Methode auf, um den Arbeitsthread zu initialisieren.

CWorkerThread::RemoveHandle

Rufen Sie diese Methode auf, um ein Handle aus der Liste der wait-fähigen Objekten zu entfernen.

CWorkerThread::Shutdown

Rufen Sie diese Methode auf, um den Arbeitsthread herunterzufahren.

Hinweise

So CWorkerThread verwenden

  1. Erstellen Sie eine Instanz dieser Klasse.

  2. Aufruf CWorkerThread::Initialize.

  3. Aufruf CWorkerThread::AddHandle mit dem Handle eines Kernelobjekts und einen Zeiger auf eine Implementierung von IWorkerThreadClient.

    – oder –

    Rufen Sie CWorkerThread::AddTimer mit einem Zeiger auf eine Implementierung von IWorkerThreadClient auf.

  4. Implementieren Sie IWorkerThreadClient::Execute, um eine Aktion auszuführen, wenn das Handle oder der Zeitgeber signalisiert wird.

  5. Um ein Objekt aus der Liste der wait-fähigen Objekte zu entfernen, rufen Sie CWorkerThread::RemoveHandle auf.

  6. Um den Thread zu beenden, rufen Sie CWorkerThread::Shutdown auf.

Anforderungen

Header: atlutil.h

Siehe auch

Referenz

DefaultThreadTraits

IWorkerThreadClient Interface

Konzepte

Multithreading: Erstellen von Arbeitsthreads

Weitere Ressourcen

ATL-Klassen