|
#pragma once
class SlimRWLock
{
public:
SlimRWLock()
{
::InitializeSRWLock(&srwLock_);
}
void acquireLockShared()
{
::AcquireSRWLockShared(&srwLock_);
}
void acquireLockExclusive()
{
::AcquireSRWLockExclusive(&srwLock_);
}
void releaseLockShared()
{
::ReleaseSRWLockShared(&srwLock_);
}
void releaseLockExclusive()
{
::ReleaseSRWLockExclusive(&srwLock_);
}
DWORD numberReaderRacesLost() const
{
return 0;
}
DWORD numberReaderWakeups() const
{
return 0;
}
LONGLONG locked_acquiringLockExclusive(void) const
{
return 0L;
}
LONGLONG locked_acquiringLockShared(void) const
{
return 0L;
}
private:
SRWLOCK srwLock_;
};
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.