Share via


Klasse CComSingleThreadModel

Opmerking

De ATL (Active Template Library) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.

Deze klasse biedt methoden voor het verhogen en verlagen van de waarde van een variabele.

Syntaxis

class CComSingleThreadModel

Leden

Openbare typedefs

Naam Description
CComSingleThreadModel::AutoCriticalSection Verwijst naar klasse CComFakeCriticalSection.
CComSingleThreadModel::CriticalSection Verwijzingsklasse CComFakeCriticalSection.
CComsingleThreadModel::ThreadModelNoCS Verwijzingen CComSingleThreadModel.

Openbare methoden

Naam Description
CComSingleThreadModel::D ecrement De waarde van de opgegeven variabele verlagen. Deze implementatie is niet thread-safe.
CComSingleThreadModel::Increment Hiermee wordt de waarde van de opgegeven variabele verhoogd. Deze implementatie is niet thread-safe.

Opmerkingen

CComSingleThreadModel biedt methoden voor het verhogen en verlagen van de waarde van een variabele. In tegenstelling tot CComMultiThreadModel en CComMultiThreadModelNoCS zijn deze methoden niet thread-safe.

Normaal gesproken gebruikt CComSingleThreadModel u een van de twee typedef namen, CComObjectThreadModel of CComGlobalsThreadModel. De klasse waarnaar wordt typedef verwezen, is afhankelijk van het threadingmodel dat wordt gebruikt, zoals wordt weergegeven in de volgende tabel:

typedef Model voor één threading Model voor appartementthreading Gratis threadingmodel
CComObjectThreadModel S S M
CComGlobalsThreadModel S M M

S= CComSingleThreadModel; M= CComMultiThreadModel

CComSingleThreadModel zelf definieert drie typedef namen. ThreadModelNoCS verwijzingen CComSingleThreadModel. AutoCriticalSection en CriticalSection referentieklasse CComFakeCriticalSection, die lege methoden biedt die zijn gekoppeld aan het verkrijgen en vrijgeven van het eigendom van een kritieke sectie.

Requirements

Header: atlbase.h

CComSingleThreadModel::AutoCriticalSection

Wanneer u CComSingleThreadModeldeze gebruikt, verwijst de typedef naam AutoCriticalSection naar klasse CComFakeCriticalSection.

typedef CComFakeCriticalSection AutoCriticalSection;

Opmerkingen

Omdat CComFakeCriticalSection het geen kritieke sectie biedt, doen de methoden niets.

CComMultiThreadModel en CComMultiThreadModelNoCS bevatten definities voor AutoCriticalSection. In de volgende tabel ziet u de relatie tussen de threadingmodelklasse en de kritieke sectieklasse waarnaar wordt verwezen:AutoCriticalSection

Klasse gedefinieerd in Klasse waarnaar wordt verwezen
CComSingleThreadModel CComFakeCriticalSection
CComMultiThreadModel CComAutoCriticalSection
CComMultiThreadModelNoCS CComFakeCriticalSection

Daarnaast AutoCriticalSectionkunt u de typedef naam CriticalSection gebruiken. U moet niet opgeven AutoCriticalSection in globale objecten of statische klasseleden als u de CRT-opstartcode wilt elimineren.

Example

Zie CComMultiThreadModel::AutoCriticalSection.

CComSingleThreadModel::CriticalSection

Wanneer u CComSingleThreadModeldeze gebruikt, verwijst de typedef naam CriticalSection naar klasse CComFakeCriticalSection.

typedef CComFakeCriticalSection CriticalSection;

Opmerkingen

Omdat CComFakeCriticalSection het geen kritieke sectie biedt, doen de methoden niets.

CComMultiThreadModel en CComMultiThreadModelNoCS bevatten definities voor CriticalSection. In de volgende tabel ziet u de relatie tussen de threadingmodelklasse en de kritieke sectieklasse waarnaar wordt verwezen:CriticalSection

Klasse gedefinieerd in Klasse waarnaar wordt verwezen
CComSingleThreadModel CComFakeCriticalSection
CComMultiThreadModel CComCriticalSection
CComMultiThreadModelNoCS CComFakeCriticalSection

Daarnaast CriticalSectionkunt u de typedef naam AutoCriticalSection gebruiken. U moet niet opgeven AutoCriticalSection in globale objecten of statische klasseleden als u de CRT-opstartcode wilt elimineren.

Example

Zie CComMultiThreadModel::AutoCriticalSection.

CComSingleThreadModel::D ecrement

Met deze statische functie wordt de waarde van de variabele die door p wordt verwezen, verminderd.

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

Parameterwaarden

p
[in] Wijs de variabele aan die moet worden afgebroken.

Retourwaarde

Het resultaat van de afschaking.

CComSingleThreadModel::Increment

Met deze statische functie wordt de waarde van de variabele verhoogd naar p.

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

Parameterwaarden

p
[in] Wijs de variabele aan die moet worden verhoogd.

Retourwaarde

Het resultaat van de verhoging.

CComsingleThreadModel::ThreadModelNoCS

Wanneer u deze gebruikt CComSingleThreadModel, verwijst de typedef naam ThreadModelNoCS gewoon naar CComSingleThreadModel.

typedef CComSingleThreadModel ThreadModelNoCS;

Opmerkingen

CComMultiThreadModel en CComMultiThreadModelNoCS bevatten definities voor ThreadModelNoCS. In de volgende tabel ziet u de relatie tussen de threadingmodelklasse en de klasse waarnaar wordt verwezen:ThreadModelNoCS

Klasse gedefinieerd in Klasse waarnaar wordt verwezen
CComSingleThreadModel CComSingleThreadModel
CComMultiThreadModel CComMultiThreadModelNoCS
CComMultiThreadModelNoCS CComMultiThreadModelNoCS

Example

Zie CComMultiThreadModel::AutoCriticalSection.

Zie ook

Overzicht van klassen