38 lines
600 B
C++
38 lines
600 B
C++
#ifndef _X_LOCK_H_
|
|
#define _X_LOCK_H_
|
|
|
|
/******************************************************************
|
|
* 互斥锁类
|
|
* 主要功能 *
|
|
* 进程内部的互斥锁。Windows中提供临界区锁(CSLock)和原子锁(
|
|
* CAtomLock)两种互斥实现方式。另外提供一个可在函数内部安全
|
|
* 使用的CSafeLock类。
|
|
*
|
|
*****************************************************************/
|
|
#ifndef _MSC_VER
|
|
#include <pthread.h>
|
|
#endif
|
|
|
|
namespace lock
|
|
{
|
|
class Mutex
|
|
{
|
|
private:
|
|
#ifdef _MSC_VER
|
|
CRITICAL_SECTION lock_;
|
|
#else
|
|
pthread_mutex_t lock_;
|
|
#endif
|
|
public:
|
|
Mutex();
|
|
virtual ~Mutex();
|
|
void Lock();
|
|
void Unlock();
|
|
};
|
|
|
|
};
|
|
|
|
|
|
#endif
|
|
|