指定项目的线程处理模型
下面的宏可指定ATL项目的线程处理模型:
宏 |
使用准则 |
---|---|
_ATL_SINGLE_THREADED |
所有条件,则您的对象使用单个线程模型,请定义。 |
_ATL_APARTMENT_THREADED |
如果一个或多个对象所使用单元线程处理,请定义。 |
_ATL_FREE_THREADED |
如果一个或多个对象所使用释放或非特定线程处理,请定义。 现有代码可以包含对等效的宏 _ATL_MULTI_THREADED。 |
如果不定义项目的这些宏中的任何一,_ATL_FREE_THREADED将生效。
宏影响运行时性能如下所示:
指定一个对应于项目的对象的宏可以提高运行时性能。
指定更高的宏,例如,如果指定_ATL_APARTMENT_THREADED,当您的所有对象是单线程,将稍微降低运行时性能。
指定宏底部,例如,因此,如果指定_ATL_SINGLE_THREADED,在一个或多个对象所使用单元线程或"自由线程处理时,可能会导致应用程序在运行时失败。
为线程模型的说明参见 选项,ATL简单对象向导 可用于ATL对象。