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