OOStuBS/MPStuBS
Bell Klassenreferenz

Synchronisationsobjekt zum Schlafenlegen für eine bestimmte ZeitspanneEin "Wecker" ist ein Synchronisationsobjekt, mit dem ein oder mehrere Threads sich für eine bestimmte Zeit schlafen legen können. Mehr ...

#include <bell.h>

Klassendiagramm für Bell:
Zusammengehörigkeiten von Bell:

Öffentliche Methoden

 Bell ()
 Konstruktor. Mehr ...
 
void ring ()
 Läuten der Glocke. 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 ...
 
Threaddequeue ()
 Liefert das erste Element der Liste und entfernt es gleichzeitig aus dieser. Mehr ...
 
Iterator begin ()
 
Iterator end ()
 
Threadremove (Thread *item, bool(*cmp)(Thread *, Thread *)=[](Thread *a, Thread *b) {return a==b;})
 Mit dieser Methode kann das angegebene Element item aus der. 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 ...
 
Threadfirst ()
 Liefert das erste Element der Liste ohne es zu entfernen. Mehr ...
 
Threadnext (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 das einen Zeiger auf das QueueLink Element innerhalb des Argument-Objektes zurück. Mehr ...
 

Private Attribute

QueueLink< Bellbellringer_link
 Verkettungszeiger. Mehr ...
 
unsigned int counter
 Interner Zähler zur Verwaltung der Bell-Objekte im Bellringer. Mehr ...
 

Freundbeziehungen

class Bellringer
 

Ausführliche Beschreibung

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.

Beschreibung der Konstruktoren und Destruktoren

◆ Bell()

Bell::Bell ( )
inline

Konstruktor.

Der Wecker ist zunächst noch abgeschaltet.

Dokumentation der Elementfunktionen

◆ ring()

void Bell::ring ( )

Läuten der Glocke.

Wird von Bellringer aufgerufen, wenn die Wartezeit abgelaufen ist und weckt den schlafenden Thread.

◆ sleep()

void Bell::sleep ( unsigned int  ms)
static

Temporäres Bell-Objekt erzeugen und Thread schlafen legen bis der Wecker klingelt.

Parameter
msZeit in Millisekunden, zur Umrechnung und Weitergabe an Bellringer::job() soll.

Dokumentation der Datenelemente

◆ bellringer_link

QueueLink<Bell> Bell::bellringer_link
private

Verkettungszeiger.

Mittels dieses Verkettungszeigers kann der Bellringer mehrere Bells verwalten.

◆ counter

unsigned int Bell::counter
private

Interner Zähler zur Verwaltung der Bell-Objekte im Bellringer.


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