CComObjectThreadModel
Wywołuje metody modelu, bez względu na model wątka używany odpowiedniego wątku.
#if defined( _ATL_SINGLE_THREADED )
typedef CComSingleThreadModel CComObjectThreadModel;
#elif defined( _ATL_APARTMENT_THREADED )
typedef CComSingleThreadModel CComObjectThreadModel;
#elif defined( _ATL_FREE_THREADED )
typedef CComMultiThreadModel CComObjectThreadModel;
#else
#pragma message ("No global threading model defined")
#endif
Uwagi
W zależności od model wątka używany przez aplikację typedef nazwa CComObjectThreadModel odwołuje się albo CComSingleThreadModel lub CComMultiThreadModel.Klasy te udostępniają dodatkowe typedef nazwy, aby odwołać klasy sekcji krytycznej.
[!UWAGA]
CComObjectThreadModelnie odwołuje się do klasy CComMultiThreadModelNoCS.
Za pomocą CComObjectThreadModel zwalnia określenie konkretnej klasy modelu wątków.Bez względu na model wątka używany zostanie wywołany właściwych metod.
Dodatkowo do CComObjectThreadModel, przewiduje ATL typedef nazwa CComGlobalsThreadModel.Klasa odwołuje się każdy typedef zależy od model wątka używany, jak pokazano w poniższej tabeli:
element TypeDef |
Pojedynczy wątków |
Wątkowość komórkowa |
Wolnych wątków |
---|---|---|---|
CComObjectThreadModel |
S |
S |
M |
CComGlobalsThreadModel |
S |
M |
M |
S=CComSingleThreadModel; M =CComMultiThreadModel
Użyj CComObjectThreadModel w klasie pojedynczy obiekt.Użyj CComGlobalsThreadModel w obiekcie, który jest albo globalnie dostępnej przez program lub gdy chcesz chronić zasoby moduł przez wiele wątków.
Wymagania
Nagłówek: atlbase.h