CAtlAutoThreadModuleT 类
此类提供用于实现线程池单元模型 COM 服务器的方法。
重要
无法在 Windows 运行时中执行的应用程序中使用此类及其成员。
语法
template <class T,
class ThreadAllocator = CComSimpleThreadAllocator,
DWORD dwWait = INFINITE>
class ATL_NO_VTABLE CAtlAutoThreadModuleT : public IAtlAutoThreadModule
参数
T
将实现 COM 服务器的类。
ThreadAllocator
管理线程选择的类。 默认值为 CComSimpleThreadAllocator。
dwWait
指定超时间隔(以毫秒为单位)。 默认值为 INFINITE,这意味着该方法永远不会超时。
成员
公共方法
名称 | 描述 |
---|---|
CAtlAutoThreadModuleT::GetDefaultThreads | 此静态函数根据处理器数动态计算并返回 EXE 模块的最大线程数。 |
备注
CAtlAutoThreadModule 类派生自 CAtlAutoThreadModuleT
以实现线程池、单元模型 COM 服务器。 它将取代已过时的类 CComAutoThreadModule。
注意
不应在 DLL 中使用此类,因为 INFINITE 的默认值 dwWait 值会导致在卸载 DLL 时死锁。
继承层次结构
IAtlAutoThreadModule
CAtlAutoThreadModuleT
要求
标头:atlbase.h
CAtlAutoThreadModuleT::GetDefaultThreads
此静态函数根据处理器数动态计算并返回 EXE 模块的最大线程数。
static int GetDefaultThreads();
返回值
要在 EXE 模块中创建的线程数。
注解
如果要使用不同的方法来计算线程数,请重写此方法。 默认情况下,线程数是基于处理器数。