CComGlobalsThreadModel
O segmento apropriado chama métodos de modelo, independentemente do modelo de threading que está sendo usado.
#if defined( _ATL_SINGLE_THREADED )
typedef CComSingleThreadModel CComGlobalsThreadModel;
#elif defined( _ATL_APARTMENT_THREADED )
typedef CComMultiThreadModel CComGlobalsThreadModel;
#elif defined( _ATL_FREE_THREADED )
typedef CComMultiThreadModel CComGlobalsThreadModel;
#else
#pragma message ("No global threading model defined")
#endif
Comentários
Dependendo do modelo de threading usado pelo seu aplicativo, a typedef nome CComGlobalsThreadModel faz referência a um CComSingleThreadModel or CComMultiThreadModel.Essas classes fornecem adicionais typedef nomes para fazer referência a uma classe de seção crítica.
Observação: |
---|
CComGlobalsThreadModel não faz referência a classe CComMultiThreadModelNoCS. |
Usando CComGlobalsThreadModel libera você de especificar uma determinada classe de modelo de threading. Independentemente do modelo segmento que está sendo usado, os métodos adequados serão chamados.
Em adição a CComGlobalsThreadModelATL fornece o typedef nome CComObjectThreadModel.A classe referenciada por cada typedef depende do modelo de threading usado, conforme mostrado na tabela a seguir:
TypeDef |
Threading simples |
Apartment threading |
Segmentação disponível |
---|---|---|---|
CComObjectThreadModel |
S |
S |
M |
CComGlobalsThreadModel |
S |
M |
M |
S=CComSingleThreadModelS =CComMultiThreadModel
Use CComObjectThreadModel dentro de uma classe de objeto único. Use CComGlobalsThreadModel em um objeto que está globalmente disponível para o seu programa, ou quando desejar proteger recursos do módulo em vários segmentos.
Requisitos
Cabeçalho: atlbase.h