Lock.cpp 392 B

12345678910111213141516171819202122232425262728293031323334
  1. #include "stdafx.h"
  2. #include "Lock.h"
  3. CLock::CLock()
  4. {
  5. ::InitializeCriticalSection(&cs);
  6. }
  7. CLock::~CLock()
  8. {
  9. ::DeleteCriticalSection(&cs);
  10. }
  11. void CLock::lock()
  12. {
  13. EnterCriticalSection(&cs);
  14. }
  15. void CLock::unlock()
  16. {
  17. LeaveCriticalSection(&cs);
  18. }
  19. CAutoLock::CAutoLock(CLock* plock)
  20. {
  21. m_plock = plock;
  22. m_plock->lock();
  23. }
  24. CAutoLock::~CAutoLock()
  25. {
  26. m_plock->unlock();
  27. m_plock = NULL;
  28. }