Lock.cpp 417 B

123456789101112131415161718192021222324252627282930313233343536
  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. if(plock == NULL)
  22. return;
  23. m_plock = plock;
  24. m_plock->lock();
  25. }
  26. CAutoLock::~CAutoLock()
  27. {
  28. m_plock->unlock();
  29. m_plock = NULL;
  30. }