#pragma once
#include<mutex>
#include <condition_variable>
class ReadWriteLock
{
public:
ReadWriteLock(void);
~ReadWriteLock(void);
void LockRead(void);
void LockWrite(void);
std::mutex m_lock_writeCount;
std::mutex m_lock_preWriteCount;
std::mutex m_lock_readCount;
int m_readCount;
int m_writeCount;
int m_preWriteCount;
std::condition_variable m_cv;
std::condition_variable m_cvPreWrite;
void UnlockRead(void);
void UnlockWrite(void);
};
#include "stdafx.h"
#include "ReadWriteLock.h"
ReadWriteLock::Read