38 lines
600 B
C
38 lines
600 B
C
|
|
#ifndef _X_LOCK_H_
|
|||
|
|
#define _X_LOCK_H_
|
|||
|
|
|
|||
|
|
/******************************************************************
|
|||
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* <EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> *
|
|||
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD>Ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Windows<EFBFBD><EFBFBD><EFBFBD>ṩ<EFBFBD>ٽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(CSLock)<EFBFBD><EFBFBD>ԭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(
|
|||
|
|
* CAtomLock)<EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD>ַ<EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ṩһ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ں<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD>ȫ
|
|||
|
|
* ʹ<EFBFBD>õ<EFBFBD>CSafeLock<EFBFBD>ࡣ
|
|||
|
|
*
|
|||
|
|
*****************************************************************/
|
|||
|
|
#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
|
|||
|
|
|