c++ 对象的互斥访问
2016-02-06 11:04
218 查看
首先,需要定义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();
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();
相关文章推荐
- C 指针有害健康
- 一起talk C栗子吧(第一百二十一回:C语言实例--线程知识体系图)
- 【LeetCode】9. Palindrome Number
- c++n连环
- 第六届蓝桥杯C/C++B组第八题 移动距离
- C语言const的用法
- HDU 1010 深度搜索问题
- 关于对象的构造、复制构造、析构、赋值的问题
- 1011. World Cup Betting (20)
- C语言解决大数的阶层问题
- C语言 gets()和scanf()函数的区别
- c/c++使用VS2013连接MySQL与ubuntu下c链接mysql
- 重定向操作(C语言)
- Codeblosks用C++编写通用DLL供其他语言调用
- C语言之memcpy函数
- C语言:链表实现的一个实例
- C语言:链表实现的一个实例
- 我的蓝桥杯历届初赛试题总结
- 错误记录--“==”与“=”错误
- C++运算符重载