Sdílet prostřednictvím


CComSingleThreadModel – třída

Tato třída poskytuje metody pro zvýšení a snížení hodnoty proměnné.

Syntaxe

class CComSingleThreadModel

Členové

Veřejné definice typedef

Jméno popis
CComSingleThreadModel::AutoCriticalSection Odkazuje na třídu CComFakeCriticalSection.
CComSingleThreadModel::CriticalSection Odkazy – třída CComFakeCriticalSection.
CComSingleThreadModel::ThreadModelNoCS Odkazy CComSingleThreadModel.

Veřejné metody

Jméno popis
CComSingleThreadModel::D ecrement Sníží hodnotu zadané proměnné. Tato implementace není bezpečná pro přístup z více vláken.
CComSingleThreadModel::Increment Zvýší hodnotu zadané proměnné. Tato implementace není bezpečná pro přístup z více vláken.

Poznámky

CComSingleThreadModel poskytuje metody pro zvýšení a snížení hodnoty proměnné. Na rozdíl od CComMultiThreadModel a CComMultiThreadModelNoCS tyto metody nejsou bezpečné pro přístup z více vláken.

Obvykle používáte CComSingleThreadModel jeden ze dvou typedef názvů, buď CComObjectThreadModel nebo CComGlobalsThreadModel. Třída odkazovaná jednotlivými typedef třídami závisí na použitém modelu vláken, jak je znázorněno v následující tabulce:

– definice typedef Model s jedním vláknem Model podprocesů bytu Model bezplatného podprocesu
CComObjectThreadModel S S M
CComGlobalsThreadModel S M M

S= CComSingleThreadModel; M= CComMultiThreadModel

CComSingleThreadModel sama definuje tři typedef názvy. ThreadModelNoCS odkazy CComSingleThreadModel. AutoCriticalSection a CriticalSection referenční třída CComFakeCriticalSection, která poskytuje prázdné metody spojené se získáním a uvolněním vlastnictví kritické části.

Požadavky

Hlavička: atlbase.h

CComSingleThreadModel::AutoCriticalSection

Při použití CComSingleThreadModelodkazuje na typedef název AutoCriticalSection třídy CComFakeCriticalSection.

typedef CComFakeCriticalSection AutoCriticalSection;

Poznámky

Protože CComFakeCriticalSection neposkytuje kritickou část, její metody nedělají nic.

CComMultiThreadModel a CComMultiThreadModelNoCS obsahují definice pro AutoCriticalSection. Následující tabulka ukazuje vztah mezi třídou modelu threadingu a kritickou třídou oddílu, na kterou AutoCriticalSectionodkazuje:

Třída definovaná v Odkazovaná třída
CComSingleThreadModel CComFakeCriticalSection
CComMultiThreadModel CComAutoCriticalSection
CComMultiThreadModelNoCS CComFakeCriticalSection

Kromě AutoCriticalSectiontoho můžete použít typedef název CriticalSection. Pokud chcete odstranit spouštěcí kód CRT, neměli byste je zadávat AutoCriticalSection v globálních objektech ani ve statických členech třídy.

Příklad

Viz CComMultiThreadModel::AutoCriticalSection.

CComSingleThreadModel::CriticalSection

Při použití CComSingleThreadModelodkazuje na typedef název CriticalSection třídy CComFakeCriticalSection.

typedef CComFakeCriticalSection CriticalSection;

Poznámky

Protože CComFakeCriticalSection neposkytuje kritickou část, její metody nedělají nic.

CComMultiThreadModel a CComMultiThreadModelNoCS obsahují definice pro CriticalSection. Následující tabulka ukazuje vztah mezi třídou modelu threadingu a kritickou třídou oddílu, na kterou CriticalSectionodkazuje:

Třída definovaná v Odkazovaná třída
CComSingleThreadModel CComFakeCriticalSection
CComMultiThreadModel CComCriticalSection
CComMultiThreadModelNoCS CComFakeCriticalSection

Kromě CriticalSection, můžete použít typedef název AutoCriticalSection. Pokud chcete odstranit spouštěcí kód CRT, neměli byste je zadávat AutoCriticalSection v globálních objektech ani ve statických členech třídy.

Příklad

Viz CComMultiThreadModel::AutoCriticalSection.

CComSingleThreadModel::D ecrement

Tato statická funkce dekrementuje hodnotu proměnné, na kterou odkazuje p.

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

Parametry

P
[v] Ukazatel na proměnnou, která se má dekrementovat.

Vrácená hodnota

Výsledek dekrementu.

CComSingleThreadModel::Increment

Tato statická funkce zvýší hodnotu proměnné, na kterou odkazuje p.

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

Parametry

P
[v] Ukazatel na proměnnou, která se má zvýšit.

Vrácená hodnota

Výsledek přírůstku.

CComSingleThreadModel::ThreadModelNoCS

Při použití CComSingleThreadModelse název typedefThreadModelNoCS jednoduše odkazuje CComSingleThreadModel.

typedef CComSingleThreadModel ThreadModelNoCS;

Poznámky

CComMultiThreadModel a CComMultiThreadModelNoCS obsahují definice pro ThreadModelNoCS. Následující tabulka ukazuje vztah mezi třídou modelu threadingu a třídou, na kterou ThreadModelNoCSodkazuje:

Třída definovaná v Odkazovaná třída
CComSingleThreadModel CComSingleThreadModel
CComMultiThreadModel CComMultiThreadModelNoCS
CComMultiThreadModelNoCS CComMultiThreadModelNoCS

Příklad

Viz CComMultiThreadModel::AutoCriticalSection.

Viz také

Přehled třídy