CComMultiThreadModelNoCS 클래스

CComMultiThreadModelNoCS 는 중요한 섹션 잠금 또는 잠금 해제 기능 없이 변수 값을 증가 및 감소시키는 스레드로부터 안전한 메서드를 제공합니다.

구문

class CComMultiThreadModelNoCS

멤버

공용 Typedefs

이름 설명
CComMultiThreadModelNoCS::AutoCriticalSection CComFakeCriticalSection 클래스를 참조합니다.
CComMultiThreadModelNoCS::CriticalSection 참조 클래스 CComFakeCriticalSection.
CComMultiThreadModelNoCS::ThreadModelNoCS 참조 클래스 CComMultiThreadModelNoCS.

공용 메서드

이름 설명
CComMultiThreadModelNoCS::D ecrement (정적) 스레드로부터 안전한 방식으로 지정된 변수의 값을 줄입니다.
CComMultiThreadModelNoCS::Increment (정적) 스레드로부터 안전한 방식으로 지정된 변수의 값을 증분합니다.

설명

CComMultiThreadModelNoCS은 CComMultiThreadModel과 유사합니다. 이 메서드는 변수를 증가시키고 감소시키는 스레드로부터 안전한 메서드를 제공한다는 점입니다. 그러나 중요한 섹션 클래스를 참조 CComMultiThreadModelNoCS할 때 메서드는 Lock 아무 작업도 Unlock 수행하지 않습니다.

일반적으로 이름을 통해 ThreadModelNoCStypedef 사용합니다CComMultiThreadModelNoCS. 이는 typedef , CComMultiThreadModelCComSingleThreadModel에서 CComMultiThreadModelNoCS정의됩니다.

참고 항목

전역 typedef 이름 CComObjectThreadModelCComGlobalsThreadModel 은 참조 CComMultiThreadModelNoCS하지 않습니다.

외에도 ThreadModelNoCS, defines 및 AutoCriticalSectionCriticalSection. CComMultiThreadModelNoCS 이러한 후자의 두 typedef 이름은 CComFakeCriticalSection을 참조하며, 중요한 섹션을 가져오고 해제하는 것과 관련된 빈 메서드를 제공합니다.

요구 사항

헤더: atlbase.h

CComMultiThreadModelNoCS::AutoCriticalSection

사용할 CComMultiThreadModelNoCStypedef 때 이름은 AutoCriticalSection CComFakeCriticalSection 클래스를 참조합니다.

typedef CComFakeCriticalSection AutoCriticalSection;

설명

CComFakeCriticalSection 중요한 섹션을 제공하지 않으므로 해당 메서드는 아무 작업도 수행하지 않습니다.

CComMultiThreadModelCComSingleThreadModel 에는 에 대한 AutoCriticalSection정의도 포함되어 있습니다. 다음 표에서는 스레딩 모델 클래스와 참조 AutoCriticalSection하는 중요 섹션 클래스 간의 관계를 보여 줍니다.

에 정의된 클래스 참조된 클래스
CComMultiThreadModelNoCS CComFakeCriticalSection
CComMultiThreadModel CComAutoCriticalSection
CComSingleThreadModel CComFakeCriticalSection

또한 AutoCriticalSectionCriticalSection이라는 이름을 사용할 typedef 수 있습니다. CRT 시작 코드를 제거하려는 경우 전역 개체 또는 정적 클래스 멤버를 지정 AutoCriticalSection 해서는 안 됩니다.

예시

CComMultiThreadModel::AutoCriticalSection을 참조하세요.

CComMultiThreadModelNoCS::CriticalSection

사용할 CComMultiThreadModelNoCStypedef 때 이름은 CriticalSection CComFakeCriticalSection 클래스를 참조합니다.

typedef CComFakeCriticalSection CriticalSection;

설명

CComFakeCriticalSection 중요한 섹션을 제공하지 않으므로 해당 메서드는 아무 작업도 수행하지 않습니다.

CComMultiThreadModelCComSingleThreadModel 에는 에 대한 CriticalSection정의도 포함되어 있습니다. 다음 표에서는 스레딩 모델 클래스와 참조 CriticalSection하는 중요 섹션 클래스 간의 관계를 보여 줍니다.

에 정의된 클래스 참조된 클래스
CComMultiThreadModelNoCS CComFakeCriticalSection
CComMultiThreadModel CComCriticalSection
CComSingleThreadModel CComFakeCriticalSection

또한 CriticalSection이름을 AutoCriticalSection사용할 typedef 수 있습니다. CRT 시작 코드를 제거하려는 경우 전역 개체 또는 정적 클래스 멤버를 지정 AutoCriticalSection 해서는 안 됩니다.

예시

CComMultiThreadModel::AutoCriticalSection을 참조하세요.

CComMultiThreadModelNoCS::D ecrement

이 정적 함수는 P가 가리키는 변수의 값을 감소시키는 Win32 함수 InterlockedDecrement호출합니다.

static ULONG WINAPI Decrement(LPLONG p) throw();

매개 변수

p
[in] 감소할 변수에 대한 포인터입니다.

Return Value

감소 결과가 0이면 0 Decrement 을 반환합니다. 감소 결과가 0이 아닌 경우 반환 값도 0이 아니지만 감소의 결과와 같지 않을 수 있습니다.

설명

InterlockedDecrement 는 둘 이상의 스레드가 동시에 이 변수를 사용하지 못하도록 방지합니다.

CComMultiThreadModelNoCS::Increment

이 정적 함수는 P가 가리키는 변수의 값을 증가시키는 Win32 함수 InterlockedIncrement호출합니다.

static ULONG WINAPI Increment(LPLONG p) throw();

매개 변수

p
[in] 증분할 변수에 대한 포인터입니다.

Return Value

증분 결과가 0 이면 증분 은 0을 반환합니다. 증분 결과가 0이 아닌 경우 반환 값도 0이 아니지만 증분 결과와 같지 않을 수 있습니다.

설명

InterlockedIncrement 는 둘 이상의 스레드가 동시에 이 변수를 사용하지 못하도록 방지합니다.

CComMultiThreadModelNoCS::ThreadModelNoCS

사용할 CComMultiThreadModelNoCS때 이름은 typedefThreadModelNoCS 단순히 참조합니다.CComMultiThreadModelNoCS

typedef CComMultiThreadModelNoCS ThreadModelNoCS;

설명

CComMultiThreadModelCComSingleThreadModel 에는 에 대한 ThreadModelNoCS정의도 포함되어 있습니다. 다음 표에서는 스레딩 모델 클래스와 참조되는 ThreadModelNoCS클래스 간의 관계를 보여 줍니다.

에 정의된 클래스 참조된 클래스
CComMultiThreadModelNoCS CComMultiThreadModelNoCS
CComMultiThreadModel CComMultiThreadModelNoCS
CComSingleThreadModel CComSingleThreadModel

in CComMultiThreadModelNoCSThreadModelNoCS 정의는 대칭 및 CComMultiThreadModelCComSingleThreadModel을 제공합니다. 예를 들어 샘플 코드가 CComMultiThreadModel::AutoCriticalSection 다음과 typedef같이 선언되었다고 가정합니다.

typedef typename ThreadModel::ThreadModelNoCS _ThreadModel;

지정된 클래스(예: CComMultiThreadModelNoCS) _ThreadModelThreadModel 관계없이 그에 따라 확인됩니다.

예시

CComMultiThreadModel::AutoCriticalSection을 참조하세요.

참고 항목

클래스 개요