11 class MultiReadSingleWriteSemaphore;
12 class MultiReadSingleWriteLock;
17#if defined(SharedTBB) or defined(SharedTBBExtension)
54 const bool _highPriorityToWrites;
55 BooleanSemaphore _semaphore;
56 volatile bool _writeAccessAcquired;
57 volatile int _numberOfPendingWriteRequests;
58 volatile int _numberOfActiveReadAccesses;
Create a lock around a boolean semaphore region.
~MultiReadSingleWriteSemaphore()=default
tarch::multicore::MultiReadSingleWriteLock Lock
void leaveCriticalReadSection()
Tells the semaphore that it is about to leave.
void leaveCriticalWriteSection()
MultiReadSingleWriteSemaphore & operator=(const MultiReadSingleWriteSemaphore &)
You may not copy a semaphore.
MultiReadSingleWriteSemaphore(const MultiReadSingleWriteSemaphore &)=delete
You may not copy a semaphore.
void enterCriticalWriteSection()
void enterCriticalReadSection()
Delegate to TBB.
Have to include this header, as I need access to the SYCL_EXTERNAL keyword.