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 模块中创建的线程数。

注解

如果要使用不同的方法来计算线程数,请重写此方法。 默认情况下,线程数是基于处理器数。

另请参阅

IAtlAutoThreadModule 类
类概述
IAtlAutoThreadModule 类
Module 类