Condividi tramite


CComObjectThreadModel

 

Pubblicato: aprile 2016

Chiama i metodi appropriati del modello di threading, indipendentemente dal modello di threading utilizzato.

Sintassi

      #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

Note

A seconda del modello di threading utilizzato dall'applicazione, il nome CComObjectThreadModeltypedef fa riferimento CComSingleThreadModel o CComMultiThreadModel. Queste classi forniscono i nomi aggiuntivi typedef per fare riferimento a una classe di sezione critica.

Nota

CComObjectThreadModel non fa riferimento alla classe CComMultiThreadModelNoCS.

Utilizzando CComObjectThreadModel viene liberata da specificare una particolare classe del modello di threading. Indipendentemente dal modello di threading utilizzato, i metodi appropriati verranno chiamati.

Oltre a CComObjectThreadModel, ATL fornisce il nome CComGlobalsThreadModeldi typedef. La classe viene fatto riferimento da ogni typedef dipende dal modello di threading utilizzato, come illustrato nella tabella seguente:

typedef

Singolo thread

Threading apartment

Modello di threading Free

CComObjectThreadModel

S

S

M

CComGlobalsThreadModel

S

M

M

S=CComSingleThreadModel; M=CComMultiThreadModel

Utilizzo CComObjectThreadModel interno di un'unica classe di oggetto. Utilizzo CComGlobalsThreadModel in un oggetto che rappresenta o globalmente disponibili al programma, o quando si desidera proteggere le risorse del modulo in più thread.

Requisiti

Header: atlbase.h

Vedere anche

CComObjectRootEx Class
ATL Class Overview
ATL Typedefs