다음을 통해 공유


CSyncObject 클래스

Win32의 동기화 개체에 일반적인 기능을 제공하는 순수 가상 클래스입니다.

구문

class CSyncObject : public CObject

멤버

공용 생성자

속성 설명
CSyncObject::CSyncObject CSyncObject 개체를 생성합니다.

공용 메서드

이름 설명
CSyncObject::Lock 동기화 개체에 대한 액세스 권한을 얻습니다.
CSyncObject::Unlock 동기화 개체에 대한 액세스 권한을 얻습니다.

Public 연산자

속성 설명
CSyncObject::operator HANDLE 동기화 개체에 대한 액세스를 제공합니다.

공용 데이터 멤버

속성 설명
CSyncObject::m_hObject 기본 동기화 개체에 대한 핸들입니다.

설명

Microsoft Foundation 클래스 라이브러리는 .에서 CSyncObject파생된 여러 클래스를 제공합니다. CEvent, CMutex, CCriticalSection 및 CSemaphore입니다.

동기화 개체를 사용하는 방법에 대한 자세한 내용은 다중 스레딩: 동기화 클래스를 사용하는 방법 문서를 참조하세요.

상속 계층 구조

CObject

CSyncObject

요구 사항

헤더: afxmt.h

CSyncObject::CSyncObject

제공된 이름을 사용하여 동기화 개체를 생성합니다.

explicit CSyncObject(LPCTSTR pstrName);
virtual ~CSyncObject();

매개 변수

pstrName
개체 이름입니다. NULL인 경우 pstrName 은 null이 됩니다.

CSyncObject::Lock

동기화 개체에 의해 제어되는 리소스에 액세스하려면 이 함수를 호출합니다.

virtual BOOL Lock(DWORD dwTimeout = INFINITE);

매개 변수

dwTimeout
동기화 개체를 사용할 수 있을 때까지 대기하는 시간(밀리초)을 지정합니다(신호). INFINITE이 Lock 면 반환하기 전에 개체가 신호를 받을 때까지 기다립니다.

Return Value

함수가 성공한 경우 0이 아닌 경우 그렇지 않으면 0입니다.

설명

동기화 개체가 신호를 받으면 Lock 성공적으로 반환되고 스레드는 이제 개체를 소유합니다. 동기화 개체가 서명되지 않은 경우(사용할 수 없음) Lock dwTimeOut 매개 변수에 지정된 시간(밀리초)까지 동기화 개체가 신호를 받을 때까지 기다립니다. 동기화 개체가 지정된 시간 Lock 동안 신호를 받지 않으면 실패를 반환합니다.

CSyncObject::m_hObject

기본 동기화 개체에 대한 핸들입니다.

HANDLE m_hObject;

CSyncObject::operator HANDLE

이 연산자를 사용하여 개체의 핸들을 가져옵니다 CSyncObject .

operator HANDLE() const;

Return Value

성공하면 동기화 개체의 핸들입니다. 그렇지 않으면 NULL입니다.

설명

핸들을 사용하여 Windows API를 직접 호출할 수 있습니다.

CSyncObject::Unlock

매개 변수가 없는 선언은 순수 가상 함수이며 파생되는 모든 클래스에서 CSyncObject재정의 Unlock 되어야 합니다.

virtual BOOL Unlock() = 0; virtual BOOL Unlock(
    LONG lCount,
    LPLONG lpPrevCount = NULL);

매개 변수

lCount
기본 구현에서 사용되지 않습니다.

lpPrevCount
기본 구현에서 사용되지 않습니다.

Return Value

기본 구현은 항상 TRUE를 반환합니다.

설명

두 매개 변수가 있는 선언의 기본 구현은 항상 TRUE를 반환합니다. 이 함수는 호출 스레드가 소유한 동기화 개체에 대한 액세스를 해제하기 위해 호출됩니다. 두 번째 선언은 제어된 리소스에 둘 이상의 액세스를 허용하는 세마포와 같은 동기화 개체에 대해 제공됩니다.

참고 항목

CObject 클래스
계층 구조 차트