CComAutoThreadModule 類別
來自 ATL 7.0, CComAutoThreadModule 已經過時:如需的詳細資訊請參閱 ATL 模組類別 。
重要事項 |
---|
這個類別和其成員不能用於 Windows 執行階段執行的應用程式。 |
template<
class ThreadAllocator= CComSimpleThreadAllocator
>
class CComAutoThreadModule :
public CComModule
參數
- ThreadAllocator
[in] 類別管理執行緒的選取範圍。預設值為 CComSimpleThreadAllocator。
Members
方法
選取執行緒在它們之間是在關聯的 Apartment 中的物件。 |
|
(靜態) 會動態計算執行緒的數目是根據處理器數目的模組。 |
|
建立模組的執行緒。 |
|
將鎖定計數在模組和目前執行緒。 |
|
會減量鎖定計數在模組和目前執行緒。 |
資料成員
資料成員
包含目前執行緒的識別項。 |
|
管理執行緒的選取範圍。 |
|
包含模組的執行緒數目。 |
|
處理序模組的 Apartment。 |
備註
注意事項 |
---|
這個類別已過時,並取代為 CAtlAutoThreadModuleCAtlModule 衍生類別。隨後的資訊時機與 ATL 舊版的。 |
CComAutoThreadModule 從 CComModule 衍生自實作 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;
};
繼承階層架構
IAtlAutoThreadModule
CComAutoThreadModule
需求
Header: atlbase.h