Spécifier le modèle de thread du projet

Les macros suivantes sont disponibles pour spécifier le modèle de thread d'un projet ATL :

Macro

Directives pour l'utilisation

_ATL_SINGLE_THREADED

Définissez si tous les objets utilisent le modèle monothread.

_ATL_APARTMENT_THREADED

Définissez si un ou plusieurs de vos objets utilisent le thread cloisonné (STA).

_ATL_FREE_THREADED

Définissez si un ou plusieurs de votre utilisation d'objets ou libre de threads neutre.Le code existant peut contenir des références à un _ATL_MULTI_THREADEDéquivalent.

Si vous ne définissez pas l'un de ces macros pour votre projet, le _ATL_FREE_THREADED sera appliquée.

Les macros affectent les performances d'exécution comme suit :

  • Spécifier la macro qui correspond aux objets dans votre projet peut améliorer les performances d'exécution.

  • Spécifier un niveau supérieur de la macro, par exemple si vous spécifiez le _ATL_APARTMENT_THREADED lorsque tous les objets sont thread unique, dégradera légèrement les performances d'exécution.

  • Spécifier un niveau inférieur de la macro, par exemple, si vous spécifiez le _ATL_SINGLE_THREADED lorsqu'un ou plusieurs de vos objets utilisent le thread cloisonné (STA) ou le modèle de thread libre, peut générer votre application d'échouer au moment de l'exécution.

Consultez l' Options, l'Assistant Objet simple ATL pour une description des modèles de thread disponibles pour un objet ATL.

Voir aussi

Autres ressources

Concepts ATL