![]() |
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 () |
Public Member Functions inherited from Gray::cThreadLockFast | |
| cThreadLockFast () noexcept | |
| cThreadLockFast (const cThreadLockFast &a) noexcept | |
| ~cThreadLockFast () noexcept | |
| bool | ClearThreadLockOwner (THREADID_t nTid) |
| void | Lock () |
| bool | LockTry (TIMESYSD_t dwDelayMS=0) |
| void | Unlock () |
Public Member Functions inherited from Gray::cThreadLockBase | |
| 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 | |
Protected Member Functions inherited from Gray::cThreadLockBase | |
| THREADID_t | __DECL_ALIGN (_SIZEOF_THREADID) m_nLockThreadID |
| The thread that has the lock. cThreadId:k_NULL is not locked. More... | |
Protected Member Functions inherited from Gray::cLockableBase | |
| cLockableBase () noexcept | |
| ~cLockableBase () | |
| LONG | get_LockCount () const |
| bool | isLocked () const |
| void | IncLockCount () |
| LONG | DecLockCount () |
| void | Lock () |
| LONG | Unlock () |
Protected Member Functions inherited from Gray::cNonCopyable | |
| 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)