Freigeben über


Angeben des Threadingmodells für ein Projekt (ATL)

Die folgenden Makros sind verfügbar, um das Threadingmodell eines ATL-Projekts zu spezifizieren:

Makro Leitfaden zur Verwendung
_ATL_SINGLE_THREADED Definieren Sie, ob alle Ihre Objekte das Einzel-Threadingmodell verwenden.
_ATL_APARTMENT_THREADED Definieren Sie, ob eines oder mehrere Ihrer Objekte Apartmentthreading verwenden.
_ATL_FREE_THREADED Definieren Sie, ob eines oder mehrere Ihrer Objekte freie oder neutrale Threadingnutzung verwenden. Vorhandener Code kann Verweise auf das gleichwertige Makro _ATL_MULTI_THREADED enthalten.

Wenn Sie keines dieser Makros für Ihr Projekt definieren, wird _ATL_FREE_THREADED wirksam sein.

Die Makros beeinflussen die Laufzeit-Leistung wie folgt:

  • Die Spezifizierung des Makros, das den Objekten in Ihrem Projekt entspricht, kann die Laufzeit-Leistung verbessern.

  • Die Angabe einer höheren Ebene des Makros, zum Beispiel wenn Sie _ATL_APARTMENT_THREADED angeben, während alle Ihre Objekte Singlethread-Apartments sind, wird die Laufzeit-Leistung leicht beeinträchtigen.

  • Die Spezifikation einer niedrigeren Ebene des Makros, zum Beispiel, wenn Sie _ATL_SINGLE_THREADED angeben, während eines oder mehrere Ihrer Objekte das Apartmentthreading oder das freie Threading nutzen, kann dazu führen, dass Ihre Anwendung zur Laufzeit fehlschlägt.

Siehe Optionen, ATL Einfaches Objekt Assistent für eine Beschreibung der verfügbaren Threadingmodelle für ein ATL-Objekt.

Weitere Informationen

Konzepte