Указание потоковой модели для проекта (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.