共用方式為


CComAutoThreadModule 類別

來自 ATL 7.0, CComAutoThreadModule 已經過時:如需的詳細資訊請參閱 ATL 模組類別

重要事項重要事項

這個類別和其成員不能用於 Windows 執行階段執行的應用程式。

template<
class ThreadAllocator= CComSimpleThreadAllocator 
>
class CComAutoThreadModule :
public CComModule

參數

Members

1ty34ed4.collapse_all(zh-tw,VS.110).gif方法

CreateInstance

選取執行緒在它們之間是在關聯的 Apartment 中的物件。

GetDefaultThreads

(靜態) 會動態計算執行緒的數目是根據處理器數目的模組。

(1183)

建立模組的執行緒。

鎖定

將鎖定計數在模組和目前執行緒。

解除鎖定

會減量鎖定計數在模組和目前執行緒。

1ty34ed4.collapse_all(zh-tw,VS.110).gif資料成員

資料成員

dwThreadID

包含目前執行緒的識別項。

m_Allocator

管理執行緒的選取範圍。

m_nThreads

包含模組的執行緒數目。

m_pApartments

處理序模組的 Apartment。

備註

注意事項注意事項

這個類別已過時,並取代為 CAtlAutoThreadModuleCAtlModule 衍生類別。隨後的資訊時機與 ATL 舊版的。

CComAutoThreadModuleCComModule 衍生自實作 EXE 和 Windows 服務的一個執行緒共用, Apartment Model COM 伺服器。CComAutoThreadModule 使用 CComApartment 處理每個執行緒的單一執行緒 Apartment 中模組。

例如,當您想要建立在多個 Apartment 的物件時,從 CComAutoThreadModule 衍生您的模組。您可以在您的物件類別定義必須包含 DECLARE_CLASSFACTORY_AUTO_THREAD 巨集指定 CComClassFactoryAutoThread 做為 Class Factory。

根據預設, 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;
};

繼承階層架構

_ATL_MODULE

CAtlModule

IAtlAutoThreadModule

CAtlModuleT

CAtlAutoThreadModuleT

CComModule

CComAutoThreadModule

需求

Header: atlbase.h

請參閱

參考

ATL 模組類別

其他資源

ATL 類別概觀