Partager via


Spécification du modèle de thread pour un projet (ATL)

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

Macro Instructions pour l’utilisation
_ATL_SINGLE_THREADED Définissez si tous vos objets utilisent le modèle de thread unique.
_ATL_APARTMENT_THREADED Définissez si un ou plusieurs de vos objets utilisent le thread d’appartement.
_ATL_FREE_THREADED Définissez si un ou plusieurs de vos objets utilisent le thread libre ou neutre. Le code existant peut contenir des références à la macro équivalente _ATL_MULTI_THREADED.

Si vous ne définissez aucune de ces macros pour votre projet, _ATL_FREE_THREADED sera en vigueur.

Les macros affectent les performances au moment de l’exécution comme suit :

  • La spécification de la macro qui correspond aux objets de votre projet peut améliorer les performances d’exécution.

  • La spécification d’un niveau supérieur de macro, par exemple si vous spécifiez _ATL_APARTMENT_THREADED lorsque tous vos objets sont threads uniques, dégrade légèrement les performances d’exécution.

  • La spécification d’un niveau inférieur de macro, par exemple, si vous spécifiez _ATL_SINGLE_THREADED quand un ou plusieurs de vos objets utilisent le thread d’appartement ou le thread libre, peut entraîner l’échec de votre application au moment de l’exécution.

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

Voir aussi

Concepts