共用方式為


ATL 和無限制執行緒封送處理器

ATL 簡單物件精靈的屬性頁會提供讓類別彙總 (Aggregate) 無限制執行緒封送處理器 (FTM) 的選項。

精靈產生的程式碼建立無限制執行緒封送處理器的執行個體。 FinalConstruct 的及解除鎖定 FinalRelease的執行個體。 COM_INTERFACE_ENTRY_AGGREGATE 巨集會自動加入至 COM 對應確保 IMarshalQueryInterface 要求無限制執行緒封送處理器處理。

無限制執行緒封送處理器允許存取介面的直接存取中的所有執行緒的物件在相同的處理序,加速跨 Apartment 呼叫。 這個選項適用的兩個執行緒模型的類別。

在使用選項時,類別必須負責其資料執行緒安全性的責任。 此外,針對彙總無限制執行緒封送處理器和需要使用衍生自其他物件的介面指標必須採取其他步驟以確保介面正確封送處理。 通常,每次使用,這需要儲存介面指標在全域介面表 (GIT) 中並取得指標從 GIT 它。 提供 ATL 類別 CComGITPtr 可協助您在 GIT 儲存的介面指標。

請參閱

參考

CoCreateFreeThreadedMarshaler

IMarshal

When to Use the Global Interface Table

In-Process Server Threading Issues

其他資源

Active Template Library (ATL) 概念