# If définie (_ATL_SINGLE_THREADED)
  ;typedef CComSingleThreadModel CComGlobalsThreadModel ;
# Elif défini (_ATL_APARTMENT_THREADED)
  ;typedef CComMultiThreadModel CComGlobalsThreadModel ;
# else
  ;typedef CComMultiThreadModel CComGlobalsThreadModel ;
# endif
Selon le modèle de thread utilisé par votre application, le nom de typedef CComGlobalsThreadModel références CComSingleThreadModel ou CComMultiThreadModel. Ces classes fournissent les noms supplémentaires typedef pour référencer une classe de section critique.
&Notenbsp ;CComGlobalsThreadModel ne fait pas référence à la classe CComMultiThreadModelNoCS.
À l'aide de CComGlobalsThreadModel vous libère de la spécification d'une classe de modèle thread particulier. Indépendamment du modèle de thread utilisé, les méthodes appropriées seront appelées.
En plus de CComGlobalsThreadModel, ATL fournit le nom de typedef CComObjectThreadModel. La classe référencée par chaque typedef dépend du modèle de thread utilisé, comme le montre le tableau suivant:
| Modèle de thread | |||
| typedef | Unique | Appartement | Gratuit |
| CcomObjectThreadModel | S | S | M |
| CcomGlobalsThreadModel | S | M | M |
S =CComSingleThreadModel; M =CComMultiThreadModel
Utiliser CComObjectThreadModel dans une classe d'objet unique. Utiliser CComGlobalsThreadModel dans un objet qui est à l'échelle mondiale disponible à votre programme, ou lorsque vous souhaitez protéger les ressources du module à travers plusieurs threads.
# include lt;atlbase.h>
Voir aussi  ;CComObjectRootEx