指定项目的线程模型 (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 简单对象向导”

另请参阅

概念