Read Write Lock
Read/Write 스핀락 구현과 fairness에 대한 이야기
Read/Write 스핀락 구현과 fairness에 대한 이야기
2022.02.20class CSpinLockLatch { friend class CReadLockKey; friend class CWriteLockKey; public: constexpr static long WRITE_LOCK_MASK = 0x80000000; constexpr static long READ_LOCK_MASK = 0X7FFFFFFF; private: volatile long m_Flag = 0; public: CSpinLockLatch() {} virtual ~CSpinLockLatch() {} }; class CReadLockKey { private: volatile long* m_pLatchFlag = nullptr; public: CReadLockKey(CSpinLockLatch* Latch) {..