CComGlobalsThreadModel
Ruft die entsprechenden Threadmodellmethoden, unabhängig vom Threadingmodell auf, das verwendet wird.
#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
Hinweise
Je nach Threadingmodell, das von der Anwendung verwendet wird, verweist der typedef Name CComGlobalsThreadModel entweder CComSingleThreadModel oder CComMultiThreadModel. Diese Klassen geben zusätzliche typedef Namen an, um eine Klasse des kritischen Abschnitts zu verweisen.
Hinweis
CComGlobalsThreadModel verweist nicht Klasse CComMultiThreadModelNoCS.
Verwenden Sie CComGlobalsThreadModel gibt vom Angeben einer bestimmten Threadingmodellklasse frei. Unabhängig vom Threadingmodell, das verwendet wird, werden die entsprechenden Methoden aufgerufen.
Zusätzlich zu CComGlobalsThreadModel ATL typedef gibt den Namen CComObjectThreadModel an. Die Klasse, die von jedes typedef verwiesen wird, hängt vom verwendeten Threadingmodell, wie in der folgenden Tabelle aus:
typedef |
Einzelnes Threading |
Apartmentthreading |
Freethreading |
---|---|---|---|
CComObjectThreadModel |
S |
S |
M |
CComGlobalsThreadModel |
S |
M |
M |
S=CComSingleThreadModel; M=CComMultiThreadModel
Verwenden Sie CComObjectThreadModel innerhalb einer einzelnen Objektklasse. Verwenden Sie CComGlobalsThreadModel in einem Objekt, das dem Programm global oder verfügbar ist, wenn Sie Modulressourcen über mehrere Threads schützen möchten.
Anforderungen
Header: atlbase.h