CWorkerThread-Klasse
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
IWorkerThreadClient-Schnittstelle
Konzepte
Multithreading: Erstellen von Arbeitsthreads