PPL6-Icon Patrick's Programming Library Version 6.4.21 - Dokumentation
ppl6::CMutex Klassenreferenz

Synchronisation von Threads. Mehr ...

Öffentliche Methoden

 CMutex ()
 
 ~CMutex ()
 
int Lock ()
 Mutex sperren. Mehr ...
 
int Signal ()
 Signal senden. Mehr ...
 
int TryLock ()
 Mutex versuchen zu sperren. Mehr ...
 
int Unlock ()
 Mutex entsperren. Mehr ...
 
int Wait (int milliseconds=0)
 Auf Signal warten. Mehr ...
 

Private Attribute

void * handle
 

Ausführliche Beschreibung

Mutexes stellen ein Low-Level-Interface für die Synchronisation von Threads dar. Mit ihnen kann verhindert werden, dass mehrere Threads versuchen gleichzeitig auf die gleichen Daten zuzugreifen.

Beschreibung der Konstruktoren und Destruktoren

ppl6::CMutex::CMutex ( )
ppl6::CMutex::~CMutex ( )

Dokumentation der Elementfunktionen

int ppl6::CMutex::Lock ( )

Diese Funktion versucht einen Mutex zu sperren. Ist dieser bereits durch einen anderen Thread blockiert, wird gewartet, bis der Mutex wieder frei wird.

Rückgabe
Konnte der Mutex erfolgreich gesperrt werden, liefert die Funktion true (1) zurück, im Fehlerfall false (0)
int ppl6::CMutex::Signal ( )

Mit dieser Funktion wird dem Mutex ein Signal gegeben. Hat ein Thread sich selbst durch Aufruf der Wait-Funktion (siehe CMutex::Wait) angehalten, wird er nach Aufruf des Signals fortgesetzt.

Rückgabe
Bei Erfolg liefert die Funktion true (1) zurück, sonst false (0).
int ppl6::CMutex::TryLock ( )

Diese Funktion versucht wie CMutex::Lock einen Mutex zu sperren. Ist dieser allerdings bereits durch einen anderen Thread blockiert, wird nicht gewartet, bis der Mutex wieder frei wird, sondern es wird sofort ein Fehler zurückgeliefert.

Rückgabe
Konnte der Mutex erfolgreich gesperrt werden, liefert die Funktion true (1) zurück, im Fehlerfall false (0)
int ppl6::CMutex::Unlock ( )

Mit dieser Funktion wird ein zuvor mit CMutex::Lock gesperrter Mutex wieder frei gegeben.

Rückgabe
Konnte der Mutex erfolgreich entsperrt werden, liefert die Funktion true (1) zurück, im Fehlerfall false (0)
int ppl6::CMutex::Wait ( int  milliseconds = 0)

Der aufrufende Thread wird angehalten, bis ein anderer Thread diesem Mutex ein Signal gibt (siehe CMutex::Signal) oder die optional angegebene Zeit abgelaufen ist. Der Mutex selbst wird freigegeben, während der Thread wartet.

Parameter
millisecondsOptionale Angabe einer Zeit, nach deren Ablauf der Thread automatisch wieder fortgeführt wird. Default = 0 = unendlich.
Rückgabe
Liefert true (1), wenn dem Mutex ein Signal gegeben wurde. Wenn microseconds angegeben wurde, liefert die Funktion nach Ablauf des Timeouts 0 zurück, andernfalls wartet die Funktion so lange, bis ein Signal gegeben wurde. Es wird kein Fehlercode gesetzt.
Zu beachten
War der Mutex vor Aufruf dieser Funktion bereits gelocked, ist er es nach Ende immer noch.

Dokumentation der Datenelemente

void* ppl6::CMutex::handle
private

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