Aracılığıyla paylaş


CriticalSection Sınıfı

Kritik bir bölüm nesnesini temsil eder.

Sözdizimi

class CriticalSection;

Üyeler

Oluşturucu

Adı Açıklama
CriticalSection::CriticalSection Mutex nesnesine benzer bir eşitleme nesnesi başlatır, ancak yalnızca tek bir işlemin iş parçacıkları tarafından kullanılabilir.
CriticalSection::~CriticalSection Geçerli CriticalSection nesneyi başlatılmaz ve yok eder.

Genel Yöntemler

Adı Açıklama
CriticalSection::IsValid Geçerli kritik bölümün geçerli olup olmadığını gösterir.
CriticalSection::Lock Belirtilen kritik bölüm nesnesinin sahipliğini bekler. İşlev, çağıran iş parçacığına sahiplik verildiğinde döndürür.
CriticalSection::TryLock Engelleme olmadan kritik bir bölüm girmeye çalışır. Çağrı başarılı olursa, çağrı iş parçacığı kritik bölümün sahipliğini alır.

Korumalı Veri Üyeleri

Adı Açıklama
CriticalSection::cs_ Kritik bölüm veri üyesini bildirir.

Devralma Hiyerarşisi

CriticalSection

Gereksinimler

Üst bilgi: corewrappers.h

Ad Alanı: Microsoft::WRL::Wrappers

CriticalSection::~CriticalSection

Geçerli CriticalSection nesneyi başlatılmaz ve yok eder.

WRL_NOTHROW ~CriticalSection();

CriticalSection::CriticalSection

Mutex nesnesine benzer bir eşitleme nesnesi başlatır, ancak yalnızca tek bir işlemin iş parçacıkları tarafından kullanılabilir.

explicit CriticalSection(
   ULONG spincount = 0
);

Parametreler

spincount
Kritik bölüm nesnesinin döndürme sayısı. Varsayılan değer 0'tir.

Açıklamalar

Kritik bölümler ve spincount'lar hakkında daha fazla bilgi için Windows API belgelerinin Synchronization bölümündeki işleve bakınInitializeCriticalSectionAndSpinCount.

CriticalSection::cs_

Kritik bölüm veri üyesini bildirir.

CRITICAL_SECTION cs_;

Açıklamalar

Bu veri üyesi korunuyor.

CriticalSection::IsValid

Geçerli kritik bölümün geçerli olup olmadığını gösterir.

bool IsValid() const;

İade Değeri

Varsayılan olarak, her zaman döndürür true.

CriticalSection::Lock

Belirtilen kritik bölüm nesnesinin sahipliğini bekler. İşlev, çağıran iş parçacığına sahiplik verildiğinde döndürür.

SyncLock Lock();

   static SyncLock Lock(
   _In_ CRITICAL_SECTION* cs
);

Parametreler

Cs
Kullanıcı tarafından belirtilen kritik bölüm nesnesi.

İade Değeri

Geçerli kritik bölümün kilidini açmak için kullanılabilecek bir kilit nesnesi.

Açıklamalar

İlk Lock işlev geçerli kritik bölüm nesnesini etkiler. İkinci Lock işlev, kullanıcı tarafından belirtilen kritik bölümü etkiler.

CriticalSection::TryLock

Engelleme olmadan kritik bir bölüm girmeye çalışır. Çağrı başarılı olursa, çağrı iş parçacığı kritik bölümün sahipliğini alır.

SyncLock TryLock();

static SyncLock TryLock(
   _In_ CRITICAL_SECTION* cs
);

Parametreler

Cs
Kullanıcı tarafından belirtilen kritik bölüm nesnesi.

İade Değeri

Kritik bölüm başarıyla girilirse veya geçerli iş parçacığı kritik bölüme zaten sahipse sıfır olmayan bir değer. Kritik bölüme zaten başka bir iş parçacığı sahipse sıfır.

Açıklamalar

İlk TryLock işlev geçerli kritik bölüm nesnesini etkiler. İkinci TryLock işlev, kullanıcı tarafından belirtilen kritik bölümü etkiler.