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
- ThreadTraits
Die Klasse, die die Threaderstellungsfunktion, wie CRTThreadTraits oder Win32ThreadTraits bereitstellt.
Mitglieder
Geschützte Strukturen
Name |
Description |
---|---|
WorkerClientEntry |
Öffentliche Konstruktoren
Name |
Description |
---|---|
Der Konstruktor für den Arbeitsthread. |
|
Der Destruktor für den Arbeitsthread. |
Öffentliche Methoden
Name |
Description |
---|---|
Rufen Sie diese Methode auf, um das Handle eines Objekts wait-fähigen der Liste hinzuzufügen, die durch den Arbeitsthread gespeichert werden. |
|
Rufen Sie diese Methode auf, um einen regelmäßigen waitable Zeitgeber der Liste hinzuzufügen, die durch den Arbeitsthread gespeichert werden. |
|
Rufen Sie diese Methode auf, um das Threadhandle des Arbeitsthreads abzurufen. |
|
Rufen Sie diese Methode auf, um die Thread-IDs des Arbeitsthreads abzurufen. |
|
Rufen Sie diese Methode auf, um den Arbeitsthread zu initialisieren. |
|
Rufen Sie diese Methode auf, um ein Handle aus der Liste der wait-fähigen Objekten zu entfernen. |
|
Rufen Sie diese Methode auf, um den Arbeitsthread herunterzufahren. |
Hinweise
So CWorkerThread verwenden
Erstellen Sie eine Instanz dieser Klasse.
Aufruf CWorkerThread::Initialize.
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.
Implementieren Sie IWorkerThreadClient::Execute, um eine Aktion auszuführen, wenn das Handle oder der Zeitgeber signalisiert wird.
Um ein Objekt aus der Liste der wait-fähigen Objekte zu entfernen, rufen Sie CWorkerThread::RemoveHandle auf.
Um den Thread zu beenden, rufen Sie CWorkerThread::Shutdown auf.
Anforderungen
Header: atlutil.h
Siehe auch
Referenz
Konzepte
Multithreading: Erstellen von Arbeitsthreads