Указание потоковой модели для проекта (ATL)

Для указания модели потоков проекта ATL доступны следующие макросы:

Макрос Рекомендации по использованию
_ATL_SINGLE_THREADED Определите, используют ли все объекты одну модель потоков.
_ATL_APARTMENT_THREADED Определите, использует ли один или несколько объектов потоки квартир.
_ATL_FREE_THREADED Определите, использует ли один или несколько объектов бесплатный или нейтральный поток. Существующий код может содержать ссылки на эквивалентные макросы _ATL_MULTI_THREADED.

Если вы не определяете ни один из этих макросов для проекта, _ATL_FREE_THREADED будет в действии.

Макросы влияют на производительность во время выполнения следующим образом:

  • Указание макроса, соответствующего объектам в проекте, может повысить производительность во время выполнения.

  • Указывая более высокий уровень макроса, например если указать _ATL_APARTMENT_THREADED, когда все объекты находятся в одном потоке, немного унизят производительность во время выполнения.

  • Указание более низкого уровня макроса, например, если указать _ATL_SINGLE_THREADED, если один или несколько объектов используют потоки квартир или свободный поток, может привести к сбою приложения во время выполнения.

См. раздел "Параметры", мастер простых объектов ATL для описания моделей потоков, доступных для объекта ATL.

См. также

Основные понятия