指定專案的執行緒模型 (ATL)
下列巨集可用來指定 ATL 項目的線程模型:
Macro | 使用指導方針 |
---|---|
_ATL_SINGLE_THREADED | 定義所有物件是否都使用單個線程模型。 |
_ATL_APARTMENT_THREADED | 定義一或多個物件是否使用 Apartment 線程。 |
_ATL_FREE_THREADED | 定義一或多個物件是否使用自由或中性線程。 現有的程式代碼可能包含對等巨集 的參考_ATL_MULTI_THREADED。 |
如果您未為項目定義任何巨集,_ATL_FREE_THREADED將會生效。
巨集會影響運行時間效能,如下所示:
指定對應至專案中物件的巨集,可以改善運行時間效能。
指定較高層級的巨集,例如,如果您在所有物件都是單個線程時指定_ATL_APARTMENT_THREADED,將會稍微降低運行時間效能。
例如,指定較低層級的巨集時,如果您指定一或多個物件使用 Apartment 線程或自由線程時,_ATL_SINGLE_THREADED可能會導致應用程式在運行時間失敗。
如需 ATL 物件可用線程模型的描述,請參閱 ATL 簡單物件精靈 的選項。