CComObjectThreadModel

# If definito (_ATL_SINGLE_THREADED)
 typedef CComSingleThreadModel CComObjectThreadModel;

# Elif definito (_ATL_APARTMENT_THREADED)
 typedef CComSingleThreadModel CComObjectThreadModel;

# else
 typedef CComMultiThreadModel CComObjectThreadModel;

# endif

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

&Notanbsp;CComObjectThreadModel non fa riferimento a classe CComMultiThreadModelNoCS.

Utilizzando CComObjectThreadModel libera da specificando una particolare classe di modello di threading. Indipendentemente dal modello di threading utilizzato, si chiamerà i metodi appropriati.

Oltre a CComObjectThreadModel, ATL fornisce il nome di typedef CComGlobalsThreadModel. La classe a cui fa riferimento ogni typedef dipende il modello di threading utilizzato, come illustrato nella tabella seguente:

Modello di threading
typedef Singolo Appartamento Gratis
CcomObjectThreadModel S S M
CcomGlobalsThreadModel S M M

S =CComSingleThreadModel; M =CComMultiThreadModel

All'interno di una classe del singolo oggetto, utilizzare CComObjectThreadModel . Utilizzare CComGlobalsThreadModel in un oggetto che può essere disponibile globalmente al vostro programma, o quando si desidera proteggere il modulo risorse tra thread multipli.

# include lt;atlbase.h>

Vedere a&nchenbsp;CComObjectRootEx

Index