CComObjectThreadModel
Chame os métodos apropriados do modelo de threads, independentemente do modelo de threads que está sendo usado.
Sintaxe
#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
Comentários
Dependendo do modelo de segmentação usado pelo seu aplicativo, o nome CComObjectThreadModel de typedef referencia CComSingleThreadModel ou CComMultiThreadModel. Essas classes fornecem nomes adicionais de typedef para fazer referência a uma classe de seção crítica.
Dica
CComObjectThreadModel não faz referência à classe CComMultiThreadModelNoCS.
Usar CComObjectThreadModel o libera de especificar uma determinada classe de modelo. Independentemente do modelo de threads que está sendo usado, os métodos apropriados serão chamados.
Além de CComObjectThreadModel, ATL fornece o nome CComGlobalsThreadModelde typedef . A classe referenciada por cada typedef depende do modelo de segmentação usado, conforme mostrado na tabela seguinte:
typedef |
Segmentação única |
Thread Apartment |
Segmentação livre |
---|---|---|---|
CComObjectThreadModel |
S |
S |
M |
CComGlobalsThreadModel |
S |
M |
M |
S=CComSingleThreadModel; M=CComMultiThreadModel
Use CComObjectThreadModel em uma única classe de objeto. Use CComGlobalsThreadModel em um objeto ou global que está disponível ao seu programa, ou quando você deseja proteger recursos de módulo por vários segmentos.
Requisitos
Cabeçalho: atlbase.h
Consulte também
Classe de CComObjectRootEx
Visão geral da classe de ATL
ATL Typedefs