Aracılığıyla paylaş


event 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
~olay Yıkıcı Bir olayı yok eder.

Genel Yöntemler

Veri Akışı Adı Açıklama
sıfırlama Olayı sinyalsiz bir duruma sıfırlar.
set Olayı sinyaller.
beklemek Olayın işaretlenmesini bekler.
wait_for_multiple Birden çok olayın sinyallemesini bekler.

Genel Sabitler

Veri Akışı Adı Açıklama
timeout_infinite Beklemenin hiçbir zaman zaman aşımına neden olmadığı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

event

Yeni bir olay oluşturur.

_CRTIMP event();

Açıklamalar

~olay

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.

sıfırlama

Olayı sinyalsiz bir duruma sıfırlar.

void reset();

set

Olayı sinyaller.

void set();

Açıklamalar

Olayın işaretlenmesi, olayda çalıştırılabilir duruma gelmesini bekleyen rastgele sayıda bağlama neden olabilir.

timeout_infinite

Beklemenin hiçbir zaman zaman aşımına neden olmadığını belirten değer.

static const unsigned int timeout_infinite = COOPERATIVE_TIMEOUT_INFINITE;

wait

Olayın işaretlenmesini 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.

wait_for_multiple

Birden çok olayın sinyallemesini 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 trueayarlanırsa parametresi, parametrede sağlanan dizideki _PPEvents tüm olayların beklemeyi karşılamak için işaretlenmesi gerektiğini belirtir. değerine falseayarlanırsa, sinyal verilen parametrede sağlanan dizideki _PPEvents herhangi bir olayın beklemeyi karşıyacağı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

Beklemenin karşılanması durumunda, dizideki dizin, bekleme koşulunu karşılayan parametrede _PPEvents sağlanır; aksi takdirde, beklemenin koşul karşılanmadan zaman aşımına uğramasını belirten değerdir COOPERATIVE_WAIT_TIMEOUT .

Açıklamalar

parametresi _FWaitAll , beklemeyi karşılamak için tüm olayların sinyal alması gerektiğini belirtmek için değerine true ayarlanırsa, işlevi tarafından döndürülen dizin değeri olmaması dışında özel bir anlam taşımaz COOPERATIVE_WAIT_TIMEOUT.

Ö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ı