Freigeben über


Angeben des Threadingmodells für ein Projekt (ATL)

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

Makro Richtlinien für die Verwendung
_ATL_SINGLE_THREADED Definieren Sie, ob alle Objekte das Einzelthreadingmodell 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 Threading verwenden. Vorhandener Code kann Verweise auf das entsprechende Makro _ATL_MULTI_THREADED enthalten.

Wenn Sie eines dieser Makros für Ihr Projekt nicht definieren, wird _ATL_FREE_THREADED wirksam.

Die Makros wirken sich wie folgt auf die Laufzeitleistung aus:

  • Das Angeben des Makros, das den Objekten in Ihrem Projekt entspricht, kann die Laufzeitleistung verbessern.

  • Wenn Sie z. B. eine höhere Makroebene angeben, _ATL_APARTMENT_THREADED, wenn alle Objekte single threaded sind, wird die Laufzeitleistung geringfügig beeinträchtigt.

  • Wenn Sie z. B. eine niedrigere Makroebene angeben, wenn Sie _ATL_SINGLE_THREADED angeben, wenn eines oder mehrere Ihrer Objekte Apartmentthreading oder freie Threading verwenden, kann dies dazu führen, dass die Anwendung zur Laufzeit fehlschlägt.

Eine Beschreibung der für ein ATL-Objekt verfügbaren Threadingmodelle finden Sie im ATL-Objekt unter "Optionen".

Siehe auch

Konzepte