CComAutoThreadModule类选件
自ATL 7.0,CComAutoThreadModule 已过时:有关详细信息 ATL模块选件类 参见。
重要事项 |
---|
此选件类及其成员不能在Windows运行时执行的应用程序。 |
template<
class ThreadAllocator= CComSimpleThreadAllocator
>
class CComAutoThreadModule :
public CComModule
参数
- ThreadAllocator
[in]选件类托管线程选择。默认值为 CComSimpleThreadAllocator。
成员
方法
处于关联的单元选择线程然后创建对象。 |
|
(静态)动态计算的线程数量。具体取决于处理器的数目的模块。 |
|
创建模块的线程。 |
|
增加锁计数在模块以及当前线程。 |
|
递减锁计数在模块以及当前线程。 |
数据成员
数据成员
包含当前线程的标识符。 |
|
管理线程选择。 |
|
在模块包含线程的数量。 |
|
管理模块的单元。 |
备注
说明 |
---|
此选件类已过时,将 CAtlAutoThreadModule 和 CAtlModule 派生类替换。下面的信息功能上与ATL早期版本的。 |
CComAutoThreadModule 从 CComModule 派生来实现EXE和Windows服务的一线程池的,单元模型COM服务器。CComAutoThreadModule 使用 CComApartment 管理每个线程的一个单元在模块。
用于在多个单元时,创建对象从 CComAutoThreadModule 则应从派生该模块。您的对象类定义还必须包括 DECLARE_CLASSFACTORY_AUTO_THREAD 宏指定 CComClassFactoryAutoThread 作为选件类工厂。
默认情况下,ATL COM AppWizard (Visual Studio .NET) ATL项目向导从 CComModule将派生自己的模块。若要使用 CComAutoThreadModule,请修改类定义。例如:
class CMyModule :
public CComAutoThreadModule<CComSimpleThreadAllocator>
{
public:
LONG Unlock()
{
LONG l = CComAutoThreadModule<CComSimpleThreadAllocator>::Unlock();
if (l == 0)
PostThreadMessage(dwThreadID, WM_QUIT, 0, 0);
return l;
}
DWORD dwThreadID;
};
继承层次结构
IAtlAutoThreadModule
CComAutoThreadModule
要求
Header: atlbase.h