Určení modelu vláken pro projekt (ATL)
Pro určení modelu vláken projektu ATL jsou k dispozici následující makra:
Makro | Pokyny pro používání |
---|---|
_ATL_SINGLE_THREADED | Definujte, jestli všechny objekty používají jeden model threadingu. |
_ATL_APARTMENT_THREADED | Definujte, jestli jeden nebo více objektů používá vlákno bytu. |
_ATL_FREE_THREADED | Definujte, jestli jeden nebo více objektů používá volné nebo neutrální vlákno. Existující kód může obsahovat odkazy na ekvivalentní _ATL_MULTI_THREADED makra. |
Pokud pro projekt nedefinujete žádná z těchto maker, _ATL_FREE_THREADED bude platit.
Makra ovlivňují výkon za běhu následujícím způsobem:
Určení makra, které odpovídá objektům v projektu, může zlepšit výkon za běhu.
Zadání vyšší úrovně makra, například pokud zadáte _ATL_APARTMENT_THREADED, když jsou všechny objekty s jedním vláknem, mírně sníží výkon za běhu.
Určení nižší úrovně makra, například pokud zadáte _ATL_SINGLE_THREADED, když jeden nebo více objektů používá vlákno bytu nebo volné vlákno, může způsobit selhání aplikace za běhu.
Popis modelů vláken dostupných pro objekt ATL najdete v Průvodci jednoduchým objektem ATL v části Možnosti.