Freigeben über


Angeben des Threadingmodells für ein Projekt (ATL)

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.

Siehe auch

Weitere Ressourcen

ATL-Konzepte (Active Template Library)