临界区(锁)windows/linux通用
来源:互联网 发布:性价比高的显卡知乎 编辑:程序博客网 时间:2024/06/06 07:35
//---------------------------------------------------------------------------
// lock.h
//---------------------------------------------------------------------------
#pragma once
#ifdef WIN32
#include <Windows.h>
#include <process.h>
class CLock
{
public:
CLock() { InitializeCriticalSection(&m_CriticalSection); }
~CLock() { DeleteCriticalSection(&m_CriticalSection); }
int Lock() { EnterCriticalSection(&m_CriticalSection); return true; }
int Unlock() { LeaveCriticalSection(&m_CriticalSection); return true; }
private:
CRITICAL_SECTION m_CriticalSection;
};
#else // POSIX - linux
#include <pthread.h>
class CLock
{
public:
CLock() { pthread_mutex_init(&m_Mutex, NULL); }
~CLock() { pthread_mutex_destroy(&m_Mutex); }
int Lock() { int nRetCode = pthread_mutex_lock(&m_Mutex); return (nRetCode == 0); }
int Unlock() { int nRetCode = pthread_mutex_unlock(&m_Mutex); return (nRetCode == 0); }
private:
pthread_mutex_t m_Mutex;
};
#endif
//---------------------------------------------------------------------------
// test.cpp
//---------------------------------------------------------------------------
int main(int argc, char** argv)
{
CLock lock;
lock.Lock();
lock.Unlock();
return 0;
}
转载自 http://zhidao.baidu.com/question/462443960.html
- 临界区(锁)windows/linux通用
- Linux和windows临界区 (zz)
- Linux和windows临界区
- 多线程临界区(windows)/互斥(linux)
- Windows 之临界区
- WINDOWS临界区
- windows临界区
- windows 临界区
- Linux的临界区
- windows编程---临界区对象
- 关于Windows中的临界区
- windows多线程同步--临界区
- Windows临界区简单实现
- Windows线程同步(一):临界区对象
- windows核心编程-关键段(临界区)线程同步
- Windows线程同步之临界区对象(Critical Section)
- Windows并发&异步编程(3)临界区Critical Section
- windows C++ 进入临界区 退出临界区
- Android中PIN和PUK码解锁研究
- 中断亲和力测试
- java反射技术常用操作
- 一淘网发声明否认胁迫导航网站合作
- jsp FCKeditor文本编辑控件
- 临界区(锁)windows/linux通用
- Wing IDE 4.1版本的破解和一些实用技巧
- c51 函数库函数 STDIO.H:一般I/O函数
- Archie osgEarth Step By Step④地图投影类型——墨卡托投影、高斯克吕格投影、UTM投影
- 怎样让select 变成只读,并且数据在保存的时候不丢失
- 第16-25天学习总结
- 2013年1月10日,技术博客开写
- IOS开发基础之──NSLog 输出格式详解
- Linux下Sniffer程序的实现(转)