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