PPL7-Icon Patrick's Programming Library Version 7.0.0 - Dokumentation
ppl7::Thread Klassenreferenz

Klasse zum Verwalten von Threads. Mehr ...

Basisklasse für MyClass.

Öffentliche Typen

enum  Priority {
  UNKNOWN =0, LOWEST, BELOW_NORMAL, NORMAL,
  ABOVE_NORMAL, HIGHEST
}
 

Öffentliche Methoden

 Thread ()
 Konstruktor der Thread-Klasse. Mehr ...
 
virtual ~Thread ()
 Destruktor der Thread-Klasse. Mehr ...
 
virtual void run ()
 Einsprungfunktion bei Start des Threads. Mehr ...
 
void threadDeleteOnExit (int flag=1)
 Flag setzen: Klasse beim Beenden löschen. Mehr ...
 
int threadGetFlags ()
 Flags des Thread auslesen. Mehr ...
 
ppluint64 threadGetID ()
 ThreadID zurückgeben. Mehr ...
 
size_t threadGetMinimumStackSize ()
 Minimale Stack-Größe auslesen. Mehr ...
 
int threadGetPriority ()
 Priorität des Threads auslesenLiefert die Priorität des Threads zurück. Mehr ...
 
size_t threadGetStackSize ()
 Stack-Größe des Threads auslesen. Mehr ...
 
void threadIdle ()
 Der Thread gibt seine CPU-Zeit an andere Threads ab. Mehr ...
 
int threadIsRunning ()
 Status abfragen: Läuft der Thread? Mehr ...
 
int threadIsSuspended ()
 Status abfragen: Schläft der Thread? Mehr ...
 
void threadResume ()
 Der Thread soll weitermachen. Mehr ...
 
int threadSetPriority (int priority)
 Priorität des Threads ändernSetz die Priorität des Threads. Mehr ...
 
int threadSetStackSize (size_t size=0)
 Stack-Größe des Threads setzen. Mehr ...
 
int threadShouldDeleteOnExit ()
 Interne Funktion. Mehr ...
 
int threadShouldStop ()
 Prüfen, ob der Thread beendet werden soll. Mehr ...
 
void threadSignalStop ()
 Dem Thread signalisieren, dass er stoppen soll. Mehr ...
 
void threadSleep (int msec=0)
 
void threadStart ()
 Der Thread wird gestartet. Mehr ...
 
void threadStartUp ()
 Interne Funktion. Mehr ...
 
void threadStop ()
 Der Thread wird gestoppt. Mehr ...
 
void threadSuspend ()
 Der Thread soll pausieren. Mehr ...
 
void threadWaitSuspended (int msec=0)
 Prüfen, ob der Thread schlafen soll. Mehr ...
 

Private Attribute

int deleteMe
 
int flags
 
int IsRunning
 
int IsSuspended
 
int myPriority
 
void * threaddata
 
Mutex threadmutex
 

Ausführliche Beschreibung

Klasse zum Starten und Verwalten von Threads.

Siehe auch
Threads
Beispiel:

Dokumentation der Aufzählungstypen

Aufzählungswerte
UNKNOWN 
LOWEST 
BELOW_NORMAL 
NORMAL 
ABOVE_NORMAL 
HIGHEST 

Beschreibung der Konstruktoren und Destruktoren

ppl7::Thread::Thread ( )

Konstruktor der Thread-Klasse. Es werden interne Variablen allokiert und mit Default-Werten gefüllt.

Siehe auch
Threads
ppl7::Thread::~Thread ( )
virtual

Falls der Thread noch läuft, wird er zunächst gestoppt. Anschließend werden die internen Variablen wieder freigegeben.

Siehe auch
Threads

Dokumentation der Elementfunktionen

void ppl7::Thread::run ( )
virtual

ThreadMain ist die Funktion, die nach Starten des Threads aufgerufen wird. Sie muß von der abgeleiteten Klasse überschrieben werden und enthält den vom Thread auszuführenden Code.

Rückgabe
Die Funktion liefert keinen Return-Wert, jedoch wird bei Verlassen der Funktion der Thread automatisch gestoppt. Wurde zuvor die Funktion Thread::ThreadShouldDeleteOnExit() aufgerufen, wird außerdem die Klasse mit delete gelöscht.
Siehe auch
Threads
Example
void ppl7::Thread::threadDeleteOnExit ( int  flag = 1)

Dem Thread wird mitgeteilt, ob er beim beenden seine eigene Klasse löschen soll. Der Default ist, dass der Anwender selbst die Klasse löschen muß.

Parameter
flagkann entweder 1 (Klasse soll automatisch gelöscht werden) oder 0 sein (Klasse nicht löschen).
Siehe auch
Thread::ThreadDeleteOnExit
Threads
int ppl7::Thread::threadGetFlags ( )

Mit dieser Funktion können die internen Flags ausgelesen werden.

Rückgabe
Liefert den Wert der internen Flag-Variable zurück
Veraltet:
Diese Funktion ist veraltet und sollte nicht mehr verwendet werden.
Siehe auch
Threads
ppluint64 ppl7::Thread::threadGetID ( )

Diese Funktion liefert die interne ID des Threads zurück.

Rückgabe
Liefert einen 64-Bit-Wert mit der Thread-ID zurück.
Siehe auch
Threads
void ppl7::Thread::threadIdle ( )
int ppl7::Thread::threadIsRunning ( )

Mit dieser Funktion kann überprüft werden, ob der Thread aktuell ausgeführt wird.

Rückgabe
Liefert 1 zurück, wenn der Thread läuft, sonst 0.
Siehe auch
Threads
int ppl7::Thread::threadIsSuspended ( )

Mit dieser Funktion kann überprüft werden, ob der Thread aktuell schläft.

Rückgabe
Liefert 1 zurück, wenn der Thread schläft, sonst 0.
Siehe auch
Threads
void ppl7::Thread::threadResume ( )

Dem Thread wird signalisiert, daß er weitermachen soll.

Noch zu erledigen:
Es wäre besser, wenn diese Funktion vom Betriebssystemseitig erledigt würde.
Siehe auch
Thread::ThreadSuspend
Thread::ThreadWaitSuspended
Threads
int ppl7::Thread::threadShouldDeleteOnExit ( )

Diese Funktion wird intern beim beenden des Threads aufgerufen. Liefert sie "true" zurück, wird die Thread-Klasse automatisch mit delete gelöscht.

Rückgabe
Liefert 1 zurück, wenn die Klasse gelöscht werden soll, sonst 0.
Siehe auch
Thread::ThreadDeleteOnExit
Threads
int ppl7::Thread::threadShouldStop ( )

Diese Funktion liefert true zurück, wenn der Thread gestoppt werden soll. Dies ist der Fall, wenn vorher die Funktion ThreadStop oder ThreadShouldStop aufgerufen wurde.

Rückgabe
Liefert 1 zurück, wenn der Thread gestoppt werden soll, sonst 0.
Siehe auch
Thread::ThreadStop
Thread::ThreadShouldStop
Threads
void ppl7::Thread::threadSignalStop ( )

Dem Thread wird nur signalisiert, dass er stoppen soll.

Siehe auch
Thread::ThreadStop
Thread::ThreadShouldStop
Threads
void ppl7::Thread::threadSleep ( int  msec = 0)
void ppl7::Thread::threadStart ( )

ThreadStart startet den Thread und kehrt sofort zur aufrufenden Funktion zurück.

Siehe auch
Thread::ThreadMain
Threads
void ppl7::Thread::threadStartUp ( )

ThreadStartUp wird unmittelbar nach Starten des Threads aufgerufen. Hier werden einige Variablen initialisiert und dann ThreadMain aufgerufen.

Zu beachten
Diese Funktion wird intern verwendet und sollte nicht vom Anwender aufgerufen werden
Siehe auch
Thread::ThreadMain
Threads
void ppl7::Thread::threadStop ( )

Dem Thread wird zunächst signalisiert, dass er stoppen soll. Anschließend wartet die Funktion, bis der Thread sich beendet hat.

Zu beachten
Die Thread-Funktion muß in regelmäßigen Abständen mittels der Funktion ThreadShouldStop überprüfen, ob er stoppen soll. Ist dies der Fall, muß sich die Funktion beenden.
Siehe auch
Thread::ThreadSignalStop
Thread::ThreadShouldStop
Threads
void ppl7::Thread::threadSuspend ( )

ThreadSuspend setzt das Suspended Flag. Hat nur Auswirkungen, wenn dieses Flag in ThreadMain beachtet wird.

Noch zu erledigen:
Es wäre besser, wenn diese Funktion den Thread Betriebssystemseitig schlafen legen würde, bis ein Resume gegeben wird.
Siehe auch
Thread::ThreadResume
Thread::ThreadWaitSuspended
Threads
void ppl7::Thread::threadWaitSuspended ( int  msec = 0)

ThreadWaitSuspended prüft, ob der Thread schlafen (suspend) soll, und wenn ja, wartet sie solange, bis ein unsuspend oder stop signalisiert wird. Der optionale Parameter gibt an, nach wievielen Millisekunden jeweils der Status geprüft werden soll.

Parameter
msecMillisekunden, nach denen jeweils der Status geprüft werden soll. Wird der Parameter nicht angegeben, wartet die Funktion so lange, bis entweder die Funktion ThreadResume, TheadSignalStop, ThreadStop oder der Destruktor der Klasse aufgerufen wird.
Siehe auch
Thread::ThreadSuspend
Thread::ThreadResume
Threads

Dokumentation der Datenelemente

int ppl7::Thread::deleteMe
private
int ppl7::Thread::flags
private
int ppl7::Thread::IsRunning
private
int ppl7::Thread::IsSuspended
private
int ppl7::Thread::myPriority
private
void* ppl7::Thread::threaddata
private
Mutex ppl7::Thread::threadmutex
private

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Dateien: