Übungen zu BS - Dokumentation Aufgabe 7 (WS 2014/15)
Mit Hilfe eines Ticketlocks kann man Codeabschnitte serialisieren, die echt nebenläufig auf mehreren CPUs laufen. Mehr ...
#include <ticketlock.h>
| Öffentliche Methoden | |
| Ticketlock () | |
| Konstruktor; Initialisierung des Ticketlocks. | |
| void | lock () | 
| Betritt den gesperrten Abschnitt. Ist dieser besetzt, so wird solange aktiv gewartet, bis er betreten werden kann. | |
| void | unlock () | 
| Gibt den gesperrten Abschnitt wieder frei. | |
Ausführliche Beschreibung
Mit Hilfe eines Ticketlocks kann man Codeabschnitte serialisieren, die echt nebenläufig auf mehreren CPUs laufen.
Die Synchronisation läuft dabei über eine Sperr- und eine Ticket-Variable. Sobald jemand den kritischen Abschnitt betreten will, holt er sich sein Ticket durch atomares Erhöhen der Ticket-Variable und wartet darauf, dass die Sperr-Variable seinen Ticket-Zählerstand erreicht. Verlässt er den kritischen Abschnitt, so erhöht er die Sperr-Variable und der nächste ist an der Reihe.
Beschreibung der Konstruktoren und Destruktoren
| 
 | inline | 
Konstruktor; Initialisierung des Ticketlocks.
Dokumentation der Elementfunktionen
| 
 | inline | 
Betritt den gesperrten Abschnitt. Ist dieser besetzt, so wird solange aktiv gewartet, bis er betreten werden kann.
| 
 | inline | 
Gibt den gesperrten Abschnitt wieder frei.
Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:
- machine/ticketlock.h


