• Navigation überspringen
  • Zur Navigation
  • Zum Seitenende
Organisationsmenü öffnen Organisationsmenü schließen
Friedrich-Alexander-Universität Lehrstuhl für Informatik 4 (Systemsoftware)
  • FAUZur zentralen FAU Website
  1. Friedrich-Alexander-Universität
  2. Technische Fakultät
  3. Department Informatik
Suche öffnen
  • English
  • Campo
  • StudOn
  • FAUdir
  • Stellenangebote
  • Lageplan
  • Hilfe im Notfall
  1. Friedrich-Alexander-Universität
  2. Technische Fakultät
  3. Department Informatik
Friedrich-Alexander-Universität Lehrstuhl für Informatik 4 (Systemsoftware)
Menu Menu schließen
  • Lehrstuhl
    • Team
    • Aktuelles
    • Kontakt und Anfahrt
    • Leitbild
    • 50-jähriges Jubiläum
    Portal Lehrstuhl
  • Forschung
    • Forschungsbereiche
      • Betriebssysteme
      • Confidential Computing
      • Eingebettete Systemsoftware
      • Verteilte Systeme
    • Projekte
      • AIMBOS
      • BALu
      • BFT2Chain
      • DOSS
      • Mirador
      • NEON
      • PAVE
      • ResPECT
      • Watwa
    • Projektkampagnen
      • maRE
    • Seminar
      • Systemsoftware
    Portal Forschung
  • Publikationen
  • Lehre
    • Sommersemester 2025
      • Applied Software Architecture
      • Ausgewählte Kapitel der Systemsoftware
      • Betriebssystemtechnik
      • Projekt angewandte Systemsoftwaretechnik
      • System-Level Programming
      • Systemnahe Programmierung in C
      • Systemprogrammierung 1
      • Verteilte Systeme
    • Wintersemester 2024/25
      • Betriebssysteme
      • Middleware – Cloud Computing
      • Systemprogrammierung 2
      • Verlässliche Echtzeitsysteme
      • Virtuelle Maschinen
      • Web-basierte Systeme
    Portal Lehre
  • Examensarbeiten
  1. Startseite
  2. Extern

Extern

Bereichsnavigation: Lehre
  • Betriebssysteme
    • Vorlesung
      • Folien
    • Übung
      • Seminar
      • Aufgaben
      • Aufgabe 0: C++ Streams
        • Aufgabe 1: Ein-/Ausgabe
          • Aufgabe 2: Unterbrechungen
            • Aufgabe 3: Pro-/Epilog
              • Aufgabe 4: Kontextwechsel
                • Aufgabe 5: Zeitscheiben
                  • Aufgabe 6: Synchronisation
                    • Aufgabe 7: Anwendung
                      • Assembler Crashkurs
                        • C++ Crashkurs
                          • Entwicklungsumgebung
                            • FAQ
                              • Ruhmeshalle
                              • Evaluation

                              Aufgabe 7: Anwendung

                              Public Member Functions | Static Public Member Functions | Friends | List of all members
                              Bell Class Reference

                              Synchronization object allowing to sleep for given timespan. More...

                              #include <sync/bell.h>

                              + Inheritance diagram for Bell:
                              [legend]
                              + Collaboration diagram for Bell:
                              [legend]

                              Public Member Functions

                               Bell ()
                               Constructor. More...
                               
                              void ring ()
                               Ring the bell. More...
                               
                              unsigned int residual ()
                               Returns the residual waiting time. More...
                               
                              void set (unsigned int ms)
                               Set the bell's waiting time. More...
                               
                              void sleep ()
                               Sleep until the bell rings. More...
                               
                              - Public Member Functions inherited from Waitingroom
                               Waitingroom ()
                               Constructor. More...
                               
                              virtual ~Waitingroom ()
                               Destructor. More...
                               
                              virtual void remove (Thread *customer)
                               Remove a given thread prematurely from the Waitingroom.
                               
                              - Public Member Functions inherited from Queue< Thread >
                               Queue ()
                               Default constructor; initialized the queue as empty.
                               
                              void enqueue (Thread *item)
                               Enqueues the provided item at the end of the queue. More...
                               
                              Thread * dequeue ()
                               Removes the first element in the queue and returns it. More...
                               
                              Iterator begin ()
                               
                              Iterator end ()
                               
                              Thread * remove (Thread *item, bool(*cmp)(Thread *, Thread *)=[](Thread *a, Thread *b) {return a==b;})
                               Removes and returns a single element from the queue. More...
                               
                              void insertFirst (Thread *item)
                               Adds item to the beginning of the queue. More...
                               
                              void insertAfter (Thread *old_item, Thread *new_item)
                               Inserts the element new_item directly after old_item. More...
                               
                              Thread * first ()
                               Returns the first element in the queue without removing it. More...
                               
                              Thread * next (Thread *o)
                               Returns the next element in the queue for a given element.
                               

                              Static Public Member Functions

                              static void sleep (unsigned int ms)
                               Creates a temporary bell object and sleeps for the given timespan. More...
                               

                              Friends

                              class Bellringer
                               

                              Detailed Description

                              Synchronization object allowing to sleep for given timespan.

                              A bell is a synchronization object enabling one thread to sleep for a particular timespan.

                              Constructor & Destructor Documentation

                              Bell::Bell ( )
                              inline

                              Constructor.

                              Constructs a new bell; the newly created bell is, at first, disabled.

                              Member Function Documentation

                              void Bell::ring ( )

                              Ring the bell.

                              Method called by the Bellringer once the waiting time passed. Wakes up the sleeping thread(s).

                              unsigned int Bell::residual ( )

                              Returns the residual waiting time.

                              Will use Bellringer::residual().

                              Returns
                              Time in milliseconds until the bell rings
                              Optional:
                              Implement Method
                              void Bell::set ( unsigned int  ms)

                              Set the bell's waiting time.

                              This method can be used to set the desired waiting time.

                              Parameters
                              msTime in milliseconds; will be passed to Bellringer::job()
                              Optional:
                              Implement Method
                              void Bell::sleep ( )

                              Sleep until the bell rings.

                              The bell needs to be configured via Bell::set() prior to calling this method and should not have rung already. (see Bell::residual()).

                              Optional:
                              Implement Method
                              void Bell::sleep ( unsigned int  ms)
                              static

                              Creates a temporary bell object and sleeps for the given timespan.

                              Parameters
                              mstime in milliseconds

                              The documentation for this class was generated from the following files:
                              • sync/bell.h
                              • sync/bell.cc
                              Friedrich-Alexander-Universität
                              Erlangen-Nürnberg

                              Schlossplatz 4
                              91054 Erlangen
                              • Impressum
                              • Datenschutz
                              • Barrierefreiheit
                              • Facebook
                              • RSS Feed
                              • Xing
                              Nach oben