critical_section Sınıfı

Eşzamanlılık Runtime'ını açıkça tanıyan, yeniden girişi olmayan bir mutex.

Sözdizimi

class critical_section;

Üyeler

Genel Tür Tanımları

Veri Akışı Adı Açıklama
native_handle_type Bir critical_section nesnesine referans.

Genel Sınıflar

Veri Akışı Adı Açıklama
critical_section::scoped_lock Sınıfı Bir critical_section nesnesi için istisna güvenli RAII sarmalayıcı.

Ortak Oluşturucular

Veri Akışı Adı Açıklama
kritik_bölüm Yeni bir kritik bölüm oluşturur.
~critical_section Yıkıcı Kritik bir bölümü yok eder.

Genel Yöntemler

Veri Akışı Adı Açıklama
lock Bu kritik bölümü alır.
native_handle Varsa platforma özgü bir yerel tanıtıcı döndürür.
try_lock Engelleme yapmadan kilidi almaya çalışır.
try_lock_for Belirli bir milisaniye süresince engelleme olmaksızın kilidi almaya çalışır.
kilidi açmak Kritik bölümün kilidini açar.

Açıklamalar

Daha fazla bilgi için bkz . Eşitleme Veri Yapıları.

Devralma Hiyerarşisi

critical_section

Gereksinimler

Üst bilgi: concrt.h

Ad alanı: eşzamanlılık

kritik bölüm

Yeni bir kritik bölüm oluşturur.

critical_section();

~kritik_bölüm

Kritik bir bölümü yok eder.

~critical_section();

Açıklamalar

Yıkıcı çalıştığında kilidin artık tutulmaması beklenir. Kritik bölümün kilidi hâlâ tutuyorken yok edilmesine izin vermek, tanımsız davranışla sonuçlanır.

lock

Bu kritik bölümü edinir.

void lock();

Açıklamalar

Bir critical_section nesnesini istisna güvenli bir şekilde almak ve serbest bırakmak için scoped_lock yapısını kullanmak genellikle daha güvenlidir.

Kilit çağrı bağlamı tarafından zaten tutulursa, bir improper_lock özel durumu oluşturulur.

native_handle

Varsa platforma özgü bir yerel tanıtıcı döndürür.

native_handle_type native_handle();

Dönüş Değeri

Kritik bölüme atıf.

Açıklamalar

Nesne critical_section , Windows işletim sistemi için platforma özgü yerel tanıtıcıyla ilişkilendirilmemiştir. Bu yöntem, yalnızca nesnenin kendisine bir referans döndürür.

critical_section::scoped_lock Sınıfı

Bir critical_section nesnesi için istisna güvenli RAII sarmalayıcı.

class scoped_lock;

scoped_lock::scoped_lock

scoped_lock nesnesini oluşturur ve _Critical_section parametresinde geçirilen critical_section nesnesini alır. Kritik bölüm başka bir iş parçacığı tarafından tutulursa, bu çağrı engellenir.

explicit _CRTIMP scoped_lock(critical_section& _Critical_section);

Parametreler

_Kritik_bölüm
Kilit için kritik bölüm.

scoped_lock::~scoped_lock

Bir scoped_lock nesneyi yok eder ve oluşturucusunda sağlanan kritik bölümü serbest bırakır.

~scoped_lock();

kilitlemeyi_dene

Engelleme yapmadan kilidi almaya çalışır.

bool try_lock();

Dönüş Değeri

Kilit alınırsa, değer true olur; aksi takdirde, değer false olur.

try_lock_for

Belirli bir milisaniye süresince engelleme olmaksızın kilidi almaya çalışır.

bool try_lock_for(unsigned int _Timeout);

Parametreler

_Zaman aşımı
Zaman aşımı gerçekleşmeden önce bekleme süresinin milisaniye cinsinden uzunluğu.

Dönüş Değeri

Kilit alınırsa değer true; aksi takdirde false.

kilidi açmak

Kritik bölümün kilidini açar.

void unlock();

Ayrıca bkz.

Eşzamanlılık Ad Alanı
reader_writer_lock Sınıfı