Aracılığıyla paylaş


critical_section Sınıfı

Eşzamanlılık Çalışma Zamanı'nın açıkça farkında olan, yeniden girilmeyen bir mutex.

Sözdizimi

class critical_section;

Üyeler

Genel Tür Tanımları

Veri Akışı Adı Açıklama
native_handle_type Bir nesneye critical_section başvuru.

Genel Sınıflar

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

Ortak Oluşturucular

Veri Akışı Adı Açıklama
critical_section 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 Kilidi engellemeden almaya çalışır.
try_lock_for Belirli bir milisaniye için engelleme olmadan 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

critical_section

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

critical_section();

~critical_section

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 kilitle yok edilmeye devam etmesine izin vermek tanımsız davranışla sonuçlanır.

lock

Bu kritik bölümü alır.

void lock();

Açıklamalar

Bir nesneyi güvenli bir critical_section ş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 başvuru.

Açıklamalar

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

critical_section::scoped_lock Sınıfı

Bir nesne için critical_section özel durum güvenli RAII sarmalayıcı.

class scoped_lock;

scoped_lock::scoped_lock

Bir scoped_lock nesnesi oluşturur ve parametresinde critical_section _Critical_section geçirilen nesneyi 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

_Critical_section
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();

try_lock

Kilidi engellemeden almaya çalışır.

bool try_lock();

Dönüş Değeri

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

try_lock_for

Belirli bir milisaniye için engelleme olmadan kilidi almaya çalışır.

bool try_lock_for(unsigned int _Timeout);

Parametreler

_Zaman aşımı
Zaman aşımına uğramadan önce beklenen milisaniye sayısı.

Dönüş Değeri

Kilit alınırsa değeri true; aksi takdirde değeri olur 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ı