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".