Mutex, Critical Section Class 만들기

by digipine posted Oct 29, 2017
?

Shortcut

PrevPrev Article

NextNext Article

ESCClose

Larger Font Smaller Font Up Down Go comment Print

뮤텍스/크리티컬 섹션 처리하는 클래스를 처리하는 클래스를 만들어 두면 편리합니다.

#pragma once

class CTaskMutex
{
public:
 CTaskMutex(HANDLE hMutex)
 {
  m_hMutex = hMutex;
  WaitForSingleObject(m_hMutex, INFINITE);
 }

 ~CTaskMutex()
 {
  ReleaseMutex(m_hMutex);
 }

private:
 HANDLE m_hMutex;
};

class CTaskCSLock
{
public:
 CTaskCSLock(CRITICAL_SECTION& hCSLock)
 {
  m_pcsLock = NULL;
  m_pcsLock = &hCSLock;
  EnterCriticalSection(m_pcsLock);
 }

 ~CTaskCSLock()
 {
  LeaveCriticalSection(m_pcsLock);   
 }

private:
 CRITICAL_SECTION* m_pcsLock;
};

 
TAG •

Articles

1 2 3