CriticalLock.h 949 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #pragma once
  2. #include <afxmt.h>
  3. /******************************************************************************
  4. 临界锁
  5. 功能:
  6. 实现临界段的加锁、解锁操作
  7. 作者:
  8. 佳也 2623168833 jaye8090@qq.com
  9. 时间:
  10. 2013-4-29 到 2013-4-30
  11. ******************************************************************************/
  12. class CCriticalLock
  13. {
  14. public:
  15. CCriticalLock(void);
  16. ~CCriticalLock(void);
  17. //基本接口
  18. public:
  19. /**************************************************************************
  20. 加锁
  21. 返回:
  22. 成功返回true,失败返回false。
  23. **************************************************************************/
  24. bool Lock(void);
  25. /**************************************************************************
  26. 解锁
  27. 返回:
  28. 成功返回true,失败返回false。
  29. **************************************************************************/
  30. bool Unlock(void);
  31. //内部数据
  32. private:
  33. CRITICAL_SECTION m_cs; //临界段结构体
  34. bool m_bInitSucc; //初始化是否成功
  35. };