Compartilhar via


CComObjectThreadModel

O segmento apropriado chama métodos de modelo, independentemente do modelo de threading que está sendo usado.

#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 threading usado pelo seu aplicativo, a typedef nome CComObjectThreadModel 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:

CComObjectThreadModel não faz referência a classe CComMultiThreadModelNoCS.

Usando CComObjectThreadModel 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 CComObjectThreadModelATL fornece o typedef nome CComGlobalsThreadModel.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 você deseja proteger recursos do módulo em vários segmentos.

Requisitos

Cabeçalho: atlbase.h

Consulte também

Referência

Classe CComObjectRootEx

Outros recursos

Visão geral do ATL classe

Definições de tipo do ATL