 
			
		By the use of Ticketlocks, it is possible to serialize blocks of code that might run parallel on multiple CPU cores. More...
#include <sync/ticketlock.h>
| Public Member Functions | |
| Ticketlock () | |
| Constructor.  More... | |
| void | lock () | 
| Enters the critical area. In case the area is already locked, lock() will actively wait for the area can be entered.  More... | |
| void | unlock () | 
| Unblocks the critical area.  More... | |
By the use of Ticketlocks, it is possible to serialize blocks of code that might run parallel on multiple CPU cores.
Synchronization is implemented using a lock and a ticket variable. Once a thread tries to enter the critical area, it obtains a ticket by atomic increment of the ticket variable and waits until the lock variable is equal to its ticket. When a thread leaves the critical area, it increments the lock variable by one and thereby allows the next thread to enter the critical area.
__ATOMIC_SEQ_CST as memorder. This is not the most efficient memory order but works reasonably well.| 
 | inline | 
Constructor.
| 
 | inline | 
Enters the critical area. In case the area is already locked, lock() will actively wait for the area can be entered.
| 
 | inline | 
Unblocks the critical area.