CComMultiThreadModel::AutoCriticalSection

typeDef CComAutoCriticalSection AutoCriticalSection;

Açıklamalar

Typedef adı AutoCriticalSection CComMultiThreadModelkullanırken, sınıf yöntemleri alınıyor ve bir kritik bölüm nesnesinin sahipliğini serbest sağlayan CComAutoCriticalSection, başvuran.

CComSingleThreadModel ve CComMultiThreadModelNoCS da AutoCriticalSectiontanımlarını içerir. Aşağıdaki tabloda, iş parçacığı modeli sınıfı ve AutoCriticalSection kritik bölümü sınıf gönderimli arasındaki ilişkiyi gösterir:

Tanımlanan sınıf Başvurulan sınıf
CComMultiThreadModel CComCriticalSection
CComSingleThreadModel CComFakeCriticalSection
CComMultiThreadModelNoCS CComFakeCriticalSection

AutoCriticalSectionek olarak, sen-ebilmek kullanma typedef adı CriticalSection. crt başlatma kodunu ortadan kaldırmak istiyorsanız, AutoCriticalSection genel nesneler veya statik sınıf üyeleri belirtmemeniz gerekir.

Örnek

Aşağıdaki kod CComObjectRootEx alınmıştır.

templatelt; ThreadModel sınıfı >
CComObjectRootEx sınıfı: Genel CComObjectRootBase
{
public:
   TypeDef ThreadModel _ThreadModel;
   TypeDef _ThreadModel::AutoCriticalSection _CritSec;

ulong InternalAddRef)
   {
      ...
      return _ThreadModel::Increment(&m_dwRef);
   }
   ...
   void (Lock) {m_critsec.Kilit (;): }
   ...

Özel:
   _CritSec m_critsec;

}

Aşağıdaki tablolarda ThreadModel şablon parametresi ve uygulama tarafından kullanılan iş parçacığı modeli bağlı olarak InternalAddRef ve kilit yöntemlerden sonuçlarını göstermek:

ThreadModel = CComObjectThreadModel

Tek ya da daire Ücretsiz
InternalAddRef Artan iş parçacığı güvenli değil. Iş parçacığı güvenli artış.
Kilit Hiçbir şey yok; kilitlemek için kritik bir bölüm yok. Kritik bölüm kilitli.

ThreadModel = CComObjectThreadModel::ThreadModelNoCS

Tek ya da daire Ücretsiz
InternalAddRef Artan iş parçacığı güvenli değil. Iş parçacığı güvenli artış.
Kilit Hiçbir şey yok; kilitlemek için kritik bir bölüm yok. Hiçbir şey yok; kilitlemek için kritik bir bölüm yok.

CComMultiThreadModel ge&nel bakış |nbsp; Sınıf üyeleri

Ayrıca bkz:nbsp;CComObjectThreadModel, CComGlobalsThreadModel, CComMultiThreadModel::ThreadModel&NoCS

Index