CComGlobalsThreadModel
Chiama i metodi appropriati del modello di threading, indipendentemente dal modello di threading utilizzato.
#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
Note
A seconda del modello di threading utilizzato dall'applicazione, il nome CComGlobalsThreadModeltypedef fa riferimento CComSingleThreadModel o CComMultiThreadModel.Queste classi forniscono i nomi aggiuntivi typedef per fare riferimento a una classe di sezione critica.
[!NOTA]
CComGlobalsThreadModel non fa riferimento alla classe CComMultiThreadModelNoCS.
Utilizzando CComGlobalsThreadModel viene liberata da specificare una particolare classe del modello di threading.Indipendentemente dal modello di threading utilizzato, i metodi appropriati verranno chiamati.
Oltre a CComGlobalsThreadModel, ATL fornisce il nome CComObjectThreadModeldi 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.Utilizzare CComGlobalsThreadModel in un oggetto che è disponibile a livello globale al programma, o quando si desidera proteggere le risorse del modulo in più thread.
Requisiti
Header: atlbase.h