CAtlAutoThreadModuleT Class

This class provides methods for implementing a thread-pooled, apartment-model COM server.

Important

This class and its members cannot be used in applications that execute in the Windows Runtime.

Syntax

template <class T,
         class ThreadAllocator = CComSimpleThreadAllocator,
         DWORD dwWait = INFINITE>
class ATL_NO_VTABLE CAtlAutoThreadModuleT : public IAtlAutoThreadModule

Parameters

T
The class which will implement the COM server.

ThreadAllocator
The class managing thread selection. The default value is CComSimpleThreadAllocator.

dwWait
Specifies the time-out interval, in milliseconds. The default is INFINITE, which means the method's time-out interval never elapses.

Members

Public Methods

Name Description
CAtlAutoThreadModuleT::GetDefaultThreads This static function dynamically calculates and returns the maximum number of threads for the EXE module, based on the number of processors.

Remarks

The class CAtlAutoThreadModule derives from CAtlAutoThreadModuleT in order to implement a thread-pooled, apartment-model COM server. It replaces the obsolete class CComAutoThreadModule.

Note

This class should not be used in a DLL, as the default dwWait value of INFINITE will cause a deadlock when the DLL is unloaded.

Inheritance Hierarchy

IAtlAutoThreadModule

CAtlAutoThreadModuleT

Requirements

Header: atlbase.h

CAtlAutoThreadModuleT::GetDefaultThreads

This static function dynamically calculates and returns the maximum number of threads for the EXE module, based on the number of processors.

static int GetDefaultThreads();

Return Value

The number of threads to be created in the EXE module.

Remarks

Override this method if you want to use a different method for calculating the number of threads. By default, the number of threads is based on the number of processors.

See also

IAtlAutoThreadModule Class
Class Overview
IAtlAutoThreadModule Class
Module Classes