首先,需要定义Mutex类:
class Mutex {
public:
Mutex() {InitializeCriticalSection(&m_cs);}
virtual ~Mutex() {DeleteCriticalSection(&m_cs);}
void Lock() {EnterCriticalSection(&m_cs);}
void UnLock() {LeaveCriticalSection(&m_cs);}
private:
CRITICAL_SECTION m_cs;
};
其次,进行如下调用:
Mutex mutexHandle; //定义Mutex类对象
mutexHandle.Lock();
Sdio_Read(..., ...);
mutexHandle,UnLock();
........
mutexHandle.Lock();
Sdio_Write(..., ...);
mutexHandle,UnLock();