Synchronisationsobjekt zum Schlafenlegen fĂŒr eine bestimmte Zeitspanne. Mehr ...
#include <meeting/bell.h>


Ăffentliche Methoden | |
| Bell () | |
| Konstruktor. Mehr ... | |
| void | ring () |
| LĂ€uten der Glocke. Mehr ... | |
| unsigned int | residual () |
| Abfragen der verbleibenden Zeit bis die Glocke gelÀutet wird. Mehr ... | |
| void | set (unsigned int ms) |
| Stellen des Weckers. Mehr ... | |
| void | sleep () |
| Schlafen, bis der Wecker klingelt. Mehr ... | |
Ăffentliche Methoden geerbt von Waitingroom | |
| virtual | ~Waitingroom () |
| Destruktor. Mehr ... | |
| virtual void | remove (Thread *customer) |
| Mit dieser Methode kann der angegebene Thread customer vorzeitig aus dem Wartezimmer entfernt werden. Mehr ... | |
Ăffentliche Methoden geerbt von Queue< Thread > | |
| Queue () | |
| Der Konstruktor initialisiert die Liste als leere Liste. | |
| void | enqueue (Thread *item) |
| Das Listenelement item wird an das Ende der Liste angefĂŒgt. Mehr ... | |
| Thread * | dequeue () |
| Liefert das erste Element der Liste und entfernt es gleichzeitig aus dieser. Mehr ... | |
| Iterator | begin () |
| Iterator | end () |
| Thread * | remove (Thread *item, bool(*cmp)(Thread *, Thread *)=[](Thread *a, Thread *b) {return a==b;}) |
| Mit dieser Methode kann das angegebene Element item aus der Liste entfernt werden, unabhĂ€ngig von seiner Position dort. Verglichen werden die Pointer-Adressen, optional kann eine Vergleichsfunktion angegeben werden. Die Standardvergleichsfunktion ist ein C++11 Lambda Ausdruck, der auf Pointer-Gleichheit prĂŒft. Mehr ... | |
| void | insert_first (Thread *item) |
| FĂŒgt das item am Anfang der Liste ein. Mehr ... | |
| void | insert_after (Thread *old_item, Thread *new_item) |
| FĂŒgt das Element new_item hinter dem Element old_item in die Liste ein. Mehr ... | |
| Thread * | first () |
| Liefert das erste Element der Liste, ohne es zu entfernen. Mehr ... | |
| Thread * | next (Thread *o) |
| Liefert das nĂ€chste Element der Liste fĂŒr ein gegebenes Element. | |
Ăffentliche, statische Methoden | |
| static void | sleep (unsigned int ms) |
| TemporÀres Bell-Objekt erzeugen und Thread schlafen legen, bis der Wecker klingelt. Mehr ... | |
Ăffentliche, statische Methoden geerbt von Queue< Thread > | |
| static QueueLink< Thread > * | get_node (Thread *o) |
| Gibt einen Zeiger auf das QueueLink-Element innerhalb des Argument-Objektes zurĂŒck. Mehr ... | |
Freundbeziehungen | |
| class | Bellringer |
Synchronisationsobjekt zum Schlafenlegen fĂŒr eine bestimmte Zeitspanne.
Ein "Wecker" ist ein Synchronisationsobjekt, mit dem ein oder mehrere Threads sich fĂŒr eine bestimmte Zeit schlafen legen können.
|
inline |
Konstruktor.
Der Wecker ist zunÀchst noch abgeschaltet.
| unsigned int Bell::residual | ( | ) |
Abfragen der verbleibenden Zeit bis die Glocke gelÀutet wird.
Unter Verwendung der Methode Bellringer::residual()
| void Bell::ring | ( | ) |
LĂ€uten der Glocke.
Wird von Bellringer aufgerufen, wenn die Wartezeit abgelaufen ist und weckt den schlafenden Thread.
| void Bell::set | ( | unsigned int | ms | ) |
Stellen des Weckers.
Mit dieser Methode kann der Wecker auf die gewĂŒnschte Wartezeit gestellt werden.
| ms | Zeit in Millisekunden, die zur Umrechnung an Bellringer::job() weitergegeben wird. |
| void Bell::sleep | ( | ) |
Schlafen, bis der Wecker klingelt.
Der Wecker muss zuvor mittels Bell::set() konfiguriert worden sein, und sollte noch nicht geklÀutet worden sein (siehe Bell::residual() )
|
static |
TemporÀres Bell-Objekt erzeugen und Thread schlafen legen, bis der Wecker klingelt.
| ms | Zeit in Millisekunden |