Olay Sınıfı

Eşzamanlılık Çalışma Zamanı'nın açıkça farkında olan el ile sıfırlama olayı.

Sözdizimi

class event;

Üyeler

Ortak Oluşturucular

Veri Akışı Adı Açıklama
~etkinlik destructor Bir olayı yok eder.

Genel Yöntemler

Veri Akışı Adı Açıklama
sıfırlama Olayı sinyal vermeyen bir duruma sıfırlar.
set Olayı tetikler.
beklemek Olayın işaretlenmesini bekler.
wait_for_multiple Birden çok olayın sinyallenmesini bekler.

Genel Sabitler

Veri Akışı Adı Açıklama
timeout_infinite Bir beklemenin hiçbir zaman zaman aşımına uğramayacağını belirten değer.

Açıklamalar

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

Devralma Hiyerarşisi

event

Gereksinimler

Üst bilgi: concrt.h

Ad alanı: eşzamanlılık

etkinlik

Yeni bir olay oluşturur.

_CRTIMP event();

~etkinlik

Bir olayı yok eder.

~event();

Açıklamalar

Yıkıcı çalıştığında olayda bekleyen iş parçacığı olmaması beklenir. Olayın hala bekleyen iş parçacıklarıyla yok etmesine izin vermek tanımlanmamış davranışa neden olur.

yeniden başlatma

Olayı sinyalsiz bir duruma sıfırlar.

void reset();

set

Olayı sinyaller.

void set();

Açıklamalar

Olayın işaretlenmesi, olayın çalıştırılabilir duruma gelmesini bekleyen keyfi sayıda bağlamın çalışabilir duruma gelmesine neden olabilir.

zaman_aşımı_sonsuz

Zaman aşımının hiçbir zaman gerçekleşmemesi gerektiğini belirten değer.

static const unsigned int timeout_infinite = COOPERATIVE_TIMEOUT_INFINITE;

bekle

Olayın sinyal verilmesini bekler.

size_t wait(unsigned int _Timeout = COOPERATIVE_TIMEOUT_INFINITE);

Parametreler

_Zaman aşımı
Bekleme zaman aşımına uğramadan önce milisaniye sayısını gösterir. değer COOPERATIVE_TIMEOUT_INFINITE , zaman aşımı olmadığını gösterir.

Dönüş Değeri

Beklemenin karşılanması durumunda değer 0 döndürülür; aksi takdirde, beklemenin olay sinyali olmadan zaman aşımına uğramasını belirten değer COOPERATIVE_WAIT_TIMEOUT döndürülür.

Önemli

Evrensel Windows Platformu (UWP) uygulamasında ASTA iş parçacığını çağırmayın wait çünkü bu çağrı geçerli iş parçacığını engelleyebilir ve uygulamanın yanıt vermemesine neden olabilir.

çoklu_beklet

Birden çok olayın sinyallenmesini bekler.

static size_t __cdecl wait_for_multiple(
    _In_reads_(count) event** _PPEvents,
    size_t count,
    bool _FWaitAll,
    unsigned int _Timeout = COOPERATIVE_TIMEOUT_INFINITE);

Parametreler

_PPEvents
Beklenecek bir dizi olay. Dizideki olayların sayısı parametresiyle count gösterilir.

count
parametresinde _PPEvents sağlanan dizi içindeki olayların sayısı.

_FWaitAll
değerine true ayarlanırsa, parametre, _PPEvents ile sağlanan dizideki tüm olayların beklemeyi karşılamak için sinyallenmesi gerektiğini belirtir. değerine false ayarlanırsa, parametrede bulunan dizideki herhangi bir _PPEvents olayı sinyallerse bekleme koşulunu karşılayacağını belirtir.

_Zaman aşımı
Bekleme zaman aşımına uğramadan önce milisaniye sayısını gösterir. değer COOPERATIVE_TIMEOUT_INFINITE , zaman aşımı olmadığını gösterir.

Dönüş Değeri

Eğer bekleme karşılanmışsa, bekleme koşulunun karşılandığı _PPEvents parametresinde sağlanan dizinin içindeki indeks; aksi takdirde, beklemenin koşul karşılanmadan zaman aşımına uğramasını belirten değeri COOPERATIVE_WAIT_TIMEOUT olur.

Açıklamalar

parametre _FWaitAll değerine, beklemenin tatmin edilmesi için tüm olayların sinyal alması gerektiğini belirtir şekilde ayarlanırsa, işlev tarafından döndürülen dizin, COOPERATIVE_WAIT_TIMEOUT değeri olmaması dışında özel bir anlam taşımaz.

Önemli

Evrensel Windows Platformu (UWP) uygulamasında ASTA iş parçacığını çağırmayın wait_for_multiple çünkü bu çağrı geçerli iş parçacığını engelleyebilir ve uygulamanın yanıt vermemesine neden olabilir.

Ayrıca bkz.

Eşzamanlılık Ad Alanı