CComObjectThreadModel
Chiama i metodi appropriati del modello di threading, indipendentemente dal modello di threading utilizzato.
#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