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:

Macro 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.

Zobacz też

Pojęcia