Share via


CComObjectThreadModel

呼叫適當的執行緒模型,不論使用的執行緒模型。

#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

備註

根據您的應用程式使用的執行緒模型, typedef 名稱 CComObjectThreadModel 參考 CComSingleThreadModelCComMultiThreadModel。 這些類別會提供其他 typedef 名稱參考關鍵區段類別。

注意事項注意事項

CComObjectThreadModel 不參考類別 CComMultiThreadModelNoCS

使用 CComObjectThreadModel 從指定特定執行緒模型類別可以讓您。 不論使用的執行緒模型中,適當的方法將會呼叫。

除了之外, CComObjectThreadModelATL 提供 typedef 名稱 CComGlobalsThreadModel。 每個 typedef 參考的類別取決於執行緒模型使用,如下表所示:

typedef

單一執行緒

Apartment 執行緒

無限制執行緒

CComObjectThreadModel

S

S

M

CComGlobalsThreadModel

S

M

M

S=CComSingleThreadModel;M=CComMultiThreadModel

用於在單一物件類別內的 CComObjectThreadModel 。 使用 CComGlobalsThreadModel 在為或全域可用對程式的物件,或者,如果您不希望在多執行緒處理的模組資源。

需求

Header: atlbase.h

請參閱

參考

CComObjectRootEx 類別

其他資源

ATL 類別概觀

ATL Typedefs