Organizer Klassenreferenz
Ein
Organizer ist ein spezieller
Scheduler, der zusätzlich das Warten von Prozessen (
Customer) auf Ereignisse erlaubt.
Mehr ...
#include <organizer.h>
Aufstellung aller Elemente
|
Öffentliche Methoden |
void | block (Customer &customer, Waitingroom &waitingroom) |
| Mit dieser Methode kann sich der laufende Prozess selbst blockieren.
|
void | wakeup (Customer &customer) |
| Mit dieser Methode kann ein schlafender Prozess geweckt werden.
|
void | kill (Customer &customer) |
| Mit dieser Methode kann ein Prozess einen anderen beenden.
|
Ausführliche Beschreibung
Ein
Organizer ist ein spezieller
Scheduler, der zusätzlich das Warten von Prozessen (
Customer) auf Ereignisse erlaubt.
Dokumentation der Elementfunktionen
Mit dieser Methode kann sich der laufende Prozess selbst blockieren.
Er gibt also den Prozessor an den nächsten lauffähigen Prozess ab. Außerdem vermerkt er, auf welches Ereignis (in welchem Wartezimmer) er nun wartet.
- Parameter:
-
| customer | Prozess, der sich selbst blockieren möchte. |
| waitingroom | Wartezimmer, in welchem der Prozess warten möchte. |
void Organizer::wakeup |
( |
Customer & |
customer |
) |
|
Mit dieser Methode kann ein schlafender Prozess geweckt werden.
Das heißt, dass er wieder auf die Ready-Liste gesetzt wird. Dabei sollte auch markiert werden, dass der Prozess nun auf kein Ereignis mehr wartet.
- Parameter:
-
| customer | Schlafender Prozess, der geweckt werden soll. |
void Organizer::kill |
( |
Customer & |
customer |
) |
|
Mit dieser Methode kann ein Prozess einen anderen beenden.
Steht der Prozess customer auf der Ready-Liste, dann kann Scheduler::kill() verwendet werden. Wartet er dagegen auf ein Ereignis, so muss er von dessen Liste (also aus dem Wartezimmer) heruntergenommen werden.
- Parameter:
-
| customer | Prozess, der beendet werden soll. |
Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Dateien: