Aracılığıyla paylaş


CCriticalSection sınıfı

"Önemli bir bölümü" temsil eder — bir kaynak ya da kod bölümüne erişmek için bir defada bir iş parçacığı veren bir eşitleme nesnesi.

class CCriticalSection : public CSyncObject

Üyeler

h5zew56b.collapse_all(tr-tr,VS.110).gifOrtak Oluşturucusu

Ad

Description

CCriticalSection::CCriticalSection

Yapıları bir CCriticalSection nesnesi.

h5zew56b.collapse_all(tr-tr,VS.110).gifPublic yöntemler

Ad

Description

CCriticalSection::Lock

Ulaşmak için CCriticalSection nesnesi.

CCriticalSection::Unlock

Yayımları CCriticalSection nesnesi.

h5zew56b.collapse_all(tr-tr,VS.110).gifOrtak İşleçler

Ad

Description

CCriticalSection::operator CRITICAL_SECTION *

Dahili bir işaretçi alır CRITICAL_SECTION nesnesi.

h5zew56b.collapse_all(tr-tr,VS.110).gifOrtak veri üyeleri

Ad

Description

CCriticalSection::m_sect

A CRITICAL_SECTION nesnesi.

Notlar

Bir defada yalnızca bir iş parçacığının verileri veya başka bir denetlenen kaynağı değiştirmek için izin, kritik bölümler faydalıdır.Örneğin, bağlantılı bir listeye düğüm ekleme, yalnızca bir iş parçacığı tarafından aynı anda izin verilmesi gereken bir işlemdir.Kullanarak bir CCriticalSection yalnızca bir iş parçacığının aynı anda listesine erişebilir bağlı liste denetimi nesne.

[!NOT]

İşlevselliğini CCriticalSection sınıfın gerçek bir Win32 tarafından sağlanan CRITICAL_SECTION nesnesi.

Kritik bölüm birbirini kapsamayan nesneler kullanılır (bkz: CMutex) ne zaman kritik hız ve kaynak işlem sınırları boyunca kullanılmayacak.

Kullanmak için iki yöntem vardır bir CCriticalSection nesne: tek başına ve katıştırılmış bir sınıf.

  • Tek başına yöntemi tek başına CCriticalSection nesne, değiştirmezler CCriticalSection nesne gerektiğinde.Kurucu karşı başarılı dönüşten sonra açıkça yapılan bir çağrıyla nesnesini kilitler Kilit.Call Unlock bitince kritik bölüm erişme.Bu, kaynak kodunuzu okuyan birine clearer sırasında kilit ve kritik bölüm önce ve sonra access kilidini açmak hatırlaması gereken şekilde fazla hataya yöntemidir.

    Daha fazla tercih yöntemini kullanmaktır CSingleLock sınıfı.Ayrıca sahip bir Lock ve Unlock yöntemi, ancak bir özel durum oluşursa, kaynak kilidini açma hakkında endişe yok.

  • Yöntemini de paylaşabilirsiniz bir sınıfın birden çok iş parçacığı ile ekleyerek gömülü bir CCriticalSection-sınıf ve gerektiğinde veri üyesi kilitleme türü veri üyesi.

Kullanma hakkında daha fazla bilgi için CCriticalSection nesneleri, makalesine bakın çok iş parçacığı: eşitleme sınıfları nasıl.

Devralma hiyerarşisi

CObject

CSyncObject

CCriticalSection

Gereksinimler

Başlık: afxmt.h

Ayrıca bkz.

Başvuru

CSyncObject sınıfı

Hiyerarşi grafik

CMutex sınıfı