指定项目的线程处理模型

下面的宏可指定ATL项目的线程处理模型:

使用准则

_ATL_SINGLE_THREADED

所有条件,则您的对象使用单个线程模型,请定义。

_ATL_APARTMENT_THREADED

如果一个或多个对象所使用单元线程处理,请定义。

_ATL_FREE_THREADED

如果一个或多个对象所使用释放或非特定线程处理,请定义。 现有代码可以包含对等效的宏 _ATL_MULTI_THREADED

如果不定义项目的这些宏中的任何一,_ATL_FREE_THREADED将生效。

宏影响运行时性能如下所示:

  • 指定一个对应于项目的对象的宏可以提高运行时性能。

  • 指定更高的宏,例如,如果指定_ATL_APARTMENT_THREADED,当您的所有对象是单线程,将稍微降低运行时性能。

  • 指定宏底部,例如,因此,如果指定_ATL_SINGLE_THREADED,在一个或多个对象所使用单元线程或"自由线程处理时,可能会导致应用程序在运行时失败。

为线程模型的说明参见 选项,ATL简单对象向导 可用于ATL对象。

请参见

其他资源

ATL概念