Mutex.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:1k
源码类别:

模拟服务器

开发平台:

C/C++

  1. /********************************************************************
  2. created: 2003/05/30
  3. file base: Mutex
  4. file ext: h
  5. author: liupeng
  6. purpose:
  7. *********************************************************************/
  8. #ifndef __INCLUDE_MUTEX_H__
  9. #define __INCLUDE_MUTEX_H__
  10. #if defined (_MSC_VER) && (_MSC_VER >= 1020)
  11. #pragma once
  12. #endif
  13. #ifndef _WINDOWS_
  14. #define WIN32_LEAN_AND_MEAN
  15. #include <windows.h>
  16. #undef WIN32_LEAN_AND_MEAN
  17. #endif
  18. #include "tstring.h"
  19. /*
  20.  * namespace OnlineGameLib::Win32
  21.  */
  22. namespace OnlineGameLib {
  23. namespace Win32 {
  24. /*
  25.  * CMutex
  26.  */
  27. class CMutex
  28. {
  29. public:
  30. CMutex(
  31. LPSECURITY_ATTRIBUTES lpMutexAttributes,
  32. BOOL bInitialOwner,
  33. BOOL bNeedOnlyOne,
  34. LPCTSTR lpName );
  35. HANDLE GetMutex() const;
  36. const char *GetName() const;
  37. void Wait() const;
  38. bool Wait( DWORD timeoutMillis ) const;
  39. virtual ~CMutex();
  40. private:
  41. HANDLE m_hMutex;
  42. _tstring m_sName;
  43. /*
  44.  * No copies do not implement
  45.  */
  46. CMutex( const CMutex &rhs );
  47. CMutex &operator=( const CMutex &rhs );
  48. };
  49. } // End of namespace OnlineGameLib
  50. } // End of namespace Win32
  51. #endif // #define __INCLUDE_MUTEX_H__