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 true
ayarlanırsa parametresi, parametrede sağlanan dizideki _PPEvents
tüm olayların beklemeyi karşılamak için işaretlenmesi gerektiğini belirtir. değerine false
ayarlanı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.