# If definido (_ATL_SINGLE_THREADED)
typedef CComSingleThreadModel CComObjectThreadModel;
#Elif definida (_ATL_APARTMENT_THREADED)
typedef CComSingleThreadModel CComObjectThreadModel;
# else
typedef CComMultiThreadModel CComObjectThreadModel;
# endif
Dependiendo del modelo de subprocesamiento utilizado la aplicación, el nombre de typedef CComObjectThreadModel hace referencia a CComSingleThreadModel o CComMultiThreadModel. Estas clases proporcionan nombres adicionales typedef para hacer referencia a una clase de sección crítica.
&Notanbsp;CComObjectThreadModel no hace referencia a la clase CComMultiThreadModelNoCS.
Utilizando CComObjectThreadModel , libera de la especificación de una determinada clase de modelo de subprocesamiento. Independientemente del modelo de subprocesamiento se utiliza, se llamará a los métodos apropiados.
Además de CComObjectThreadModel, ATL proporciona el nombre de typedef CComGlobalsThreadModel. La clase hace referencia a cada typedef depende el modelo de subprocesamiento utilizado, como se muestra en la siguiente tabla:
| Modelo de subprocesamiento | |||
| typedef | Solo | Apartamento | Libre |
| CcomObjectThreadModel | S | S | M |
| CcomGlobalsThreadModel | S | M | M |
S =CComSingleThreadModel; M =CComMultiThreadModel
Utilice CComObjectThreadModel dentro de una clase de objeto único. Utilice CComGlobalsThreadModel en un objeto que sea globalmente disponibles para su programa, o cuando desee proteger recursos de módulo a través de múltiples subprocesos.
# include lt;atlbase.h>
Vea tambié&nnbsp;CComObjectRootEx