Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Megjegyzés:
Az aktív sablontár (ATL) továbbra is támogatott. A továbbiakban azonban nem adunk hozzá funkciókat, és nem frissítjük a dokumentációt.
Ez az osztály metódusokat biztosít egy változó értékének növeléséhez és csökkenéséhez.
Szemantika
class CComSingleThreadModel
Tagok
Nyilvános típustdefiníciók
| Név | Description |
|---|---|
| CComSingleThreadModel::AutoCriticalSection | A CComFakeCriticalSection osztályra hivatkozik. |
| CComSingleThreadModel::CriticalSection | Hivatkozások osztály CComFakeCriticalSection. |
| CComSingleThreadModel::ThreadModelNoCS | Hivatkozások CComSingleThreadModel. |
Nyilvános módszerek
| Név | Description |
|---|---|
| CComSingleThreadModel::D ecrement | A megadott változó értékének decresítése. Ez a megvalósítás nem szálbiztos. |
| CComSingleThreadModel::Növekmény | A megadott változó értékét növeli. Ez a megvalósítás nem szálbiztos. |
Megjegyzések
CComSingleThreadModel metódusokat biztosít egy változó értékének növeléséhez és csökkenéséhez. A CComMultiThreadModel és a CComMultiThreadModelNoCS ellentétben ezek a módszerek nem szálbiztosak.
Általában két név egyikét használjaCComSingleThreadModel: CComObjectThreadModel vagy CComGlobalsThreadModel.typedef Az egyes typedef osztályok által hivatkozott osztály a használt szálmodelltől függ, ahogyan az a következő táblázatban látható:
| Typedef | Egyszálas modell | Lakásszálas modell | Ingyenes szálláncmodell |
|---|---|---|---|
CComObjectThreadModel |
S | S | H |
CComGlobalsThreadModel |
S | H | H |
S= CComSingleThreadModel; M= CComMultiThreadModel
CComSingleThreadModel maga három typedef nevet határoz meg.
ThreadModelNoCS referenciák CComSingleThreadModel.
AutoCriticalSection és CriticalSection a CComFakeCriticalSection referenciaosztály, amely üres módszereket biztosít egy kritikus szakasz tulajdonjogának megszerzéséhez és kiadásához.
Requirements
Fejléc: atlbase.h
CComSingleThreadModel::AutoCriticalSection
Használata esetén CComSingleThreadModela név AutoCriticalSection a typedefCComFakeCriticalSection osztályra hivatkozik.
typedef CComFakeCriticalSection AutoCriticalSection;
Megjegyzések
Mivel CComFakeCriticalSection nem biztosít kritikus szakaszt, a metódusok nem tesznek semmit.
A CComMultiThreadModel és a CComMultiThreadModelNoCS definíciókat tartalmaz a AutoCriticalSection. Az alábbi táblázat a szálmodell-osztály és a hivatkozott kritikus szakaszosztály AutoCriticalSectionközötti kapcsolatot mutatja be:
| A következőben definiált osztály: | Hivatkozott osztály |
|---|---|
CComSingleThreadModel |
CComFakeCriticalSection |
CComMultiThreadModel |
CComAutoCriticalSection |
CComMultiThreadModelNoCS |
CComFakeCriticalSection |
AutoCriticalSectionEmellett használhatja a typedefCriticalSection nevet is. Ha meg szeretné szüntetni a CRT indítási kódját, ne adjon meg AutoCriticalSection globális objektumokat vagy statikus osztálytagokat.
Example
Lásd: CComMultiThreadModel::AutoCriticalSection.
CComSingleThreadModel::CriticalSection
Használata esetén CComSingleThreadModela név CriticalSection a typedefCComFakeCriticalSection osztályra hivatkozik.
typedef CComFakeCriticalSection CriticalSection;
Megjegyzések
Mivel CComFakeCriticalSection nem biztosít kritikus szakaszt, a metódusok nem tesznek semmit.
A CComMultiThreadModel és a CComMultiThreadModelNoCS definíciókat tartalmaz a CriticalSection. Az alábbi táblázat a szálmodell-osztály és a hivatkozott kritikus szakaszosztály CriticalSectionközötti kapcsolatot mutatja be:
| A következőben definiált osztály: | Hivatkozott osztály |
|---|---|
CComSingleThreadModel |
CComFakeCriticalSection |
CComMultiThreadModel |
CComCriticalSection |
CComMultiThreadModelNoCS |
CComFakeCriticalSection |
CriticalSectionEmellett használhatja az typedefAutoCriticalSection nevet is. Ha meg szeretné szüntetni a CRT indítási kódját, ne adjon meg AutoCriticalSection globális objektumokat vagy statikus osztálytagokat.
Example
Lásd: CComMultiThreadModel::AutoCriticalSection.
CComSingleThreadModel::D ecrement
Ez a statikus függvény a p által mutatott változó értékét csökkeni.
static ULONG WINAPI Decrement(LPLONG p) throw();
Paraméterek
p
[in] Mutasson a dekrementálandó változóra.
Visszaadott érték
A decrement eredménye.
CComSingleThreadModel::Növekmény
Ez a statikus függvény növeli a p által mutatott változó értékét.
static ULONG WINAPI Increment(LPLONG p) throw();
Paraméterek
p
[in] Mutasson a növelendő változóra.
Visszaadott érték
A növekmény eredménye.
CComSingleThreadModel::ThreadModelNoCS
Használata CComSingleThreadModelesetén a typedef név ThreadModelNoCS egyszerűen hivatkozik CComSingleThreadModel.
typedef CComSingleThreadModel ThreadModelNoCS;
Megjegyzések
A CComMultiThreadModel és a CComMultiThreadModelNoCS definíciókat tartalmaz a ThreadModelNoCS. Az alábbi táblázat a szálmodell-osztály és a hivatkozott ThreadModelNoCSosztály közötti kapcsolatot mutatja be:
| A következőben definiált osztály: | Hivatkozott osztály |
|---|---|
CComSingleThreadModel |
CComSingleThreadModel |
CComMultiThreadModel |
CComMultiThreadModelNoCS |
CComMultiThreadModelNoCS |
CComMultiThreadModelNoCS |
Example
Lásd: CComMultiThreadModel::AutoCriticalSection.