windows下的锁
来源:互联网 发布:上海数据交易中心 面试 编辑:程序博客网 时间:2024/06/05 00:41
#pragma once #include <Windows.h>class CLock{ CRITICAL_SECTION m_cs;public: CLock (){::InitializeCriticalSection(&m_cs);} ~CLock(){::DeleteCriticalSection(&m_cs);} void Lock(){::EnterCriticalSection(&m_cs);} void Unlock(){::LeaveCriticalSection(&m_cs);}}; class readwrite_lock{public:readwrite_lock(): read_cnt(0){}void readLock(){_read.Lock();if (++read_cnt == 1)_write.Lock();_read.Unlock();}void readUnlock(){_read.Lock();if (--read_cnt == 0)_write.Unlock();_read.Unlock();}void writeLock(){_write.Lock();}void writeUnlock(){_write.Unlock();}private:CLock _read;CLock _write;int read_cnt; // 已加读锁个数};class CAutoLock{CLock* m_pLock;public:CAutoLock(CLock* pLock):m_pLock(pLock){m_pLock->Lock();}~CAutoLock(){m_pLock->Unlock();}};class CAutoReadLock{readwrite_lock* m_pLock;public:CAutoReadLock(readwrite_lock* pLock):m_pLock(pLock){m_pLock->readLock();}~CAutoReadLock(){m_pLock->readUnlock();}};class CAutoWriteLock{readwrite_lock* m_pLock;public:CAutoWriteLock(readwrite_lock* pLock):m_pLock(pLock){m_pLock->writeLock();}~CAutoWriteLock(){m_pLock->writeUnlock();}};
0 0
- windows下的锁
- Windows下的读写锁
- Windows平台下的读写锁
- 关于windows内核下的读写锁
- 关于windows内核下的读写锁
- Windows下的半自动线程锁
- Windows下的OSS
- Windows 下的注册表
- windows 下的 _vimrc
- windows下的命令行
- windows下的tail
- Windows下的Grep
- windows下的tail
- windows下的域名解析
- windows下的命令
- Windows下的cvs
- Windows下的快捷键
- Windows 下的数据类型
- 关于oc的#pragma mark - 和swift的注释的详解和区别
- sudo失效
- 【Java并发编程】之一:可重入内置锁
- Java中的String处理
- 操作系统试验中有关页架的若干问题
- windows下的锁
- 【FastDev4Android框架开发】Volley完全解析之基础使用(二十六)
- iOS学习之关于#import导入补全问题
- 计算机进程
- CF#201 div2 C Alice and Bob(number theory)
- 操作系统文件管理
- SpringMVC注解@RequestParam全面解析
- iOS本地通知的实现
- Fiddler工具——手机抓包