![]() |
Gray C++ Libraries
0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
|
#include <cThreadLockRW.h>
Public Member Functions | |
cThreadLockRW () | |
~cThreadLockRW () | |
void | IncReadLockCount () |
void | DecReadLockCount () |
![]() | |
cThreadLockFast () noexcept | |
cThreadLockFast (const cThreadLockFast &a) noexcept | |
~cThreadLockFast () noexcept | |
bool | ClearThreadLockOwner (THREADID_t nTid) |
void | Lock () |
bool | LockTry (TIMESYSD_t dwDelayMS=0) |
void | Unlock () |
![]() | |
cThreadLockBase () noexcept | |
bool | isLocked () const noexcept |
THREADID_t | get_ThreadLockOwner () const |
bool | isThreadLockedByCurrent () const noexcept |
Public Attributes | |
cInterlockedInt | m_nReadLockCount |
How many readers (for orig m_nLockThreadID) More... | |
cInterlockedInt | m_nOtherReadLockCount |
How many outside (not on orig thread) readers. More... | |
bool | m_bLostOrder |
can't figure who is thread. More... | |
Friends | |
class | cThreadLockRWTests |
Additional Inherited Members | |
![]() | |
THREADID_t | __DECL_ALIGN (_SIZEOF_THREADID) m_nLockThreadID |
The thread that has the lock. cThreadId:k_NULL is not locked. More... | |
![]() | |
cLockableBase () noexcept | |
~cLockableBase () | |
LONG | get_LockCount () const |
bool | isLocked () const |
void | IncLockCount () |
LONG | DecLockCount () |
void | Lock () |
LONG | Unlock () |
![]() | |
cNonCopyable () noexcept | |
Force the use of Factory creation via protected constructor. More... | |
~cNonCopyable () noexcept | |
RULES: FR = first thread reader. FW = first thread writer. (just like a normal thread lock) OR = other thread reader OW = other thread writer. if the first locker is write, FR=go, FW=go, OR=wait, OW=wait if the first locker is reader, FR=go, FW=go, OR=go, OW=wait.
|
inline |
|
inline |
|
inline |
|
inline |
|
friend |
bool Gray::cThreadLockRW::m_bLostOrder |
can't figure who is thread.
cInterlockedInt Gray::cThreadLockRW::m_nOtherReadLockCount |
How many outside (not on orig thread) readers.
cInterlockedInt Gray::cThreadLockRW::m_nReadLockCount |
How many readers (for orig m_nLockThreadID)