Określanie modelu wątkowości projektu (ALT)
Dostępne są następujące makra umożliwiające określenie modelu wątkowego projektu ATL:
Makro | Wskazówki dotyczące używania |
---|---|
_ATL_SINGLE_THREADED | Zdefiniuj, czy wszystkie obiekty używają modelu pojedynczego wątkowania. |
_ATL_APARTMENT_THREADED | Określ, czy co najmniej jeden obiekt używa wątków apartamentowych. |
_ATL_FREE_THREADED | Określ, czy co najmniej jeden obiekt używa wątków wolnych lub neutralnych. Istniejący kod może zawierać odwołania do równoważnego makra _ATL_MULTI_THREADED. |
Jeśli nie zdefiniujesz żadnego z tych makr dla projektu, _ATL_FREE_THREADED będzie obowiązywać.
Makra wpływają na wydajność w czasie wykonywania w następujący sposób:
Określenie makra odpowiadającego obiektom w projekcie może poprawić wydajność czasu wykonywania.
Określenie wyższego poziomu makra, na przykład jeśli określisz _ATL_APARTMENT_THREADED, gdy wszystkie obiekty są pojedyncze wątkowe, nieznacznie obniży wydajność czasu wykonywania.
Określenie niższego poziomu makra, na przykład jeśli określisz _ATL_SINGLE_THREADED, gdy co najmniej jeden obiekt używa wątków apartamentowych lub wolnych wątków, może spowodować niepowodzenie aplikacji w czasie wykonywania.
Aby uzyskać opis modeli wątków dostępnych dla obiektu ATL, zobacz Opcje, Kreator prostych obiektów ATL.