
Mit Hilfe eines Ticketlocks kann man Codeabschnitte serialisieren, die echt nebenläufig auf mehreren CPUs laufen. Mehr ...
#include <ticketlock.h>
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.