Angeben des Threadingmodells des Projekts
Die folgenden Makros sind verfügbar, das Threadingmodell eines ATL-Projekts anzugeben:
Makro |
Richtlinien für die Anwendung |
---|---|
_ATL_SINGLE_THREADED |
Definieren Sie, wenn alle Objekte das einzelne Threadingmodell verwenden. |
_ATL_APARTMENT_THREADED |
Definieren Sie, wenn eine oder mehrere der Objekte Apartmentthreading verwenden. |
_ATL_FREE_THREADED |
Definieren Sie wenn eine oder mehrere der freien Objektverwendung oder vom neutralen Threading.Vorhandener Code enthält möglicherweise Verweise auf das entsprechenden Makro _ATL_MULTI_THREADED. |
Wenn Sie keine Makros für das Projekt definieren, ist _ATL_FREE_THREADED wirksam.
Die Makros Laufzeitleistung beeinflussen, wie folgt:
Das Angeben des Makros, das auf Objekte im Projekt entspricht, kann die Laufzeitleistung verbessern.
Das Angeben weiterführende des Makros, wenn Sie _ATL_APARTMENT_THREADED angeben, wenn alle Objekte singlethreaded sind, kompromittiert einige Laufzeitleistung.
Das Angeben eines untergeordneten des Makros zum Beispiel wenn Sie _ATL_SINGLE_THREADED angeben, wenn eine oder mehrere der Objekte Apartmentthreading oder freies Threading verwenden, kann die Anwendung verursachen, zur Laufzeit fehl.
Siehe Optionen, ATL-Assistent für einfache Objekte für eine Beschreibung der Threadingmodelle, die für ein ATL-Objekt verfügbar sind.