|
| Patrick's Programming Library Version 7.0.0 - Dokumentation |
Synchronisation von Threads. Mehr ...
Öffentliche Methoden | |
| Mutex () | |
| ~Mutex () throw () | |
| void | lock () |
| Mutex sperren. Mehr ... | |
| int | signal () throw () |
| Signal senden. Mehr ... | |
| bool | tryLock () throw () |
| Mutex versuchen zu sperren. Mehr ... | |
| void | unlock () |
| Mutex entsperren. Mehr ... | |
| int | wait (int milliseconds=0) throw () |
| Auf Signal warten. Mehr ... | |
Private Attribute | |
| void * | handle |
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.
| ppl7::Mutex::Mutex | ( | ) |
| ppl7::Mutex::~Mutex | ( | ) | ||
| throw | ( | |||
| ) | ||||
| void ppl7::Mutex::lock | ( | ) |
| int ppl7::Mutex::signal | ( | ) | ||
| throw | ( | |||
| ) | ||||
| bool ppl7::Mutex::tryLock | ( | ) | ||
| throw | ( | |||
| ) | ||||
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.
| void ppl7::Mutex::unlock | ( | ) |
Mit dieser Funktion wird ein zuvor mit Mutex::lock gesperrter Mutex wieder frei gegeben.
| int ppl7::Mutex::wait | ( | int | milliseconds = 0 | ) | |
| throw | ( | ||||
| ) | |||||
Der aufrufende Thread wird angehalten, bis ein anderer Thread diesem Mutex ein Signal gibt (siehe CMutex::Signal) oder die optional angegebene Zeit abgelaufen ist.
| milliseconds | Optionale Angabe einer Zeit, nach deren Ablauf der Thread automatisch wieder fortgeführt wird. Default = 0 = unendlich. |
microseconds angegeben wurde, liefert die Funktion nach Ablauf des Timeouts 0 zurück, andernfalls wartet die Funktion so lange, bis ein Signal gegeben wurde.
|
private |