Semaphore Klassenreferenz
Semaphore werden zur Synchronisation von Threads verwendet.
Mehr ...
#include <semaphore.h>
Aufstellung aller Elemente
|
Ăffentliche Methoden |
| Semaphore (int c) |
| Der Konstruktor initialisiert den SemaphorzÀhler mit dem angegebenen Wert c.
|
void | p () |
| Warten auf das Freiwerden eines kritischen Abschnitts.
|
void | wait () |
void | v () |
| Freigeben des kritischen Abschnitts.
|
void | signal () |
AusfĂŒhrliche Beschreibung
Semaphore werden zur Synchronisation von Threads verwendet.
Die Klasse Semaphore implementiert das Synchronisationskonzept des zÀhlenden Semaphors. Die benötigte Warteliste erbt sie dabei von ihrer Basisklasse Waitingroom.
Beschreibung der Konstruktoren und Destruktoren
Semaphore::Semaphore |
( |
int |
c |
) |
[inline] |
Der Konstruktor initialisiert den SemaphorzÀhler mit dem angegebenen Wert c.
- Parameter:
-
| c | Initaler ZĂ€hlerwert des Semaphors |
Dokumentation der Elementfunktionen
Warten auf das Freiwerden eines kritischen Abschnitts.
Warteoperation: Sofern der SemaphorzĂ€hler gröĂer als Null ist, wird er nur um eins erniedrigt. Anderenfalls wird der aktuell laufende Prozess (ein Customer Objekt) an die Warteliste angefĂŒgt und blockiert.
Erneute Implementation in Guarded_Semaphore.
void Semaphore::wait |
( |
|
) |
[inline] |
Warten auf das Freiwerden eines kritischen Abschnitts.
Warteoperation: Sofern der SemaphorzĂ€hler gröĂer als Null ist, wird er nur um eins erniedrigt. Anderenfalls wird der aktuell laufende Prozess (ein Customer Objekt) an die Warteliste angefĂŒgt und blockiert.
Erneute Implementation in Guarded_Semaphore.
Freigeben des kritischen Abschnitts.
Freigabeoperation: Wenn auf der Warteliste mindestens ein Customer eingetragen ist, wird der erste davon aufgeweckt. Anderenfalls wird der SemaphorzÀhler um eins erhöht.
Erneute Implementation in Guarded_Semaphore.
void Semaphore::signal |
( |
|
) |
[inline] |
Freigeben des kritischen Abschnitts.
Freigabeoperation: Wenn auf der Warteliste mindestens ein Customer eingetragen ist, wird der erste davon aufgeweckt. Anderenfalls wird der SemaphorzÀhler um eins erhöht.
Erneute Implementation in Guarded_Semaphore.
Die Dokumentation fĂŒr diese Klasse wurde erzeugt aufgrund der Dateien: