Aufgabe 7: Anwendung
Synchronization object allowing to sleep for given timespan. More...
#include <sync/bell.h>
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
|
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
-
ms Time 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
|
static |
Creates a temporary bell object and sleeps for the given timespan.
- Parameters
-
ms time in milliseconds
The documentation for this class was generated from the following files:
- sync/bell.h
- sync/bell.cc