Kelas acara

Peristiwa reset manual yang secara eksplisit mengetahui Runtime Konkurensi.

Sintaks

class event;

Anggota

Konstruktor Publik

Nama Deskripsi
~event Destructor Menghancurkan suatu peristiwa.

Metode Publik

Nama Deskripsi
Reset Mereset peristiwa ke status tidak diberi sinyal.
set Memberi sinyal peristiwa.
Tunggu Menunggu peristiwa menjadi sinyal.
wait_for_multiple Menunggu beberapa peristiwa menjadi sinyal.

Konstanta Publik

Nama Deskripsi
timeout_infinite Nilai yang menunjukkan bahwa waktu tunggu seharusnya tidak pernah habis.

Keterangan

Untuk informasi selengkapnya, lihat Struktur Data Sinkronisasi.

Hierarki Warisan

event

Persyaratan

Header: concrt.h

Namespace: konkurensi

event

Membuat peristiwa baru.

_CRTIMP event();

Keterangan

~Acara

Menghancurkan suatu peristiwa.

~event();

Keterangan

Diharapkan tidak ada utas yang menunggu pada peristiwa ketika destruktor berjalan. Memungkinkan peristiwa dihancurkan dengan utas yang masih menunggu di atasnya menghasilkan perilaku yang tidak ditentukan.

mengatur ulang

Mereset peristiwa ke status tidak diberi sinyal.

void reset();

set

Memberi sinyal peristiwa.

void set();

Keterangan

Memberi sinyal peristiwa dapat menyebabkan jumlah konteks arbitrer yang menunggu peristiwa menjadi dapat dijalankan.

timeout_infinite

Nilai yang menunjukkan bahwa waktu tunggu seharusnya tidak pernah habis.

static const unsigned int timeout_infinite = COOPERATIVE_TIMEOUT_INFINITE;

tunggu

Menunggu peristiwa menjadi sinyal.

size_t wait(unsigned int _Timeout = COOPERATIVE_TIMEOUT_INFINITE);

Parameter

_Timeout
Menunjukkan jumlah milidetik sebelum waktu tunggu habis. Nilai COOPERATIVE_TIMEOUT_INFINITE menandakan bahwa tidak ada batas waktu.

Tampilkan Nilai

Jika waktu tunggu terpenuhi, nilai 0 dikembalikan; jika tidak, nilai COOPERATIVE_WAIT_TIMEOUT untuk menunjukkan bahwa waktu tunggu habis tanpa peristiwa menjadi sinyal.

Penting

Dalam aplikasi Platform Windows Universal (UWP), jangan memanggil wait utas ASTA karena panggilan ini dapat memblokir utas saat ini dan dapat menyebabkan aplikasi menjadi tidak responsif.

wait_for_multiple

Menunggu beberapa peristiwa menjadi sinyal.

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

Parameter

_PPEvents
Array peristiwa untuk ditunda. Jumlah peristiwa dalam array ditunjukkan oleh count parameter .

count
Jumlah peristiwa dalam array yang disediakan dalam _PPEvents parameter .

_FWaitAll
Jika diatur ke nilai true, parameter menentukan bahwa semua peristiwa dalam array yang disediakan dalam _PPEvents parameter harus diberi sinyal untuk memenuhi penantian. Jika diatur ke nilai false, itu menentukan bahwa setiap peristiwa dalam array yang disediakan dalam parameter yang _PPEvents menjadi sinyal akan memenuhi penantian.

_Timeout
Menunjukkan jumlah milidetik sebelum waktu tunggu habis. Nilai COOPERATIVE_TIMEOUT_INFINITE menandakan bahwa tidak ada batas waktu.

Tampilkan Nilai

Jika penantian terpenuhi, indeks dalam array yang disediakan dalam _PPEvents parameter yang memenuhi kondisi tunggu; jika tidak, nilai COOPERATIVE_WAIT_TIMEOUT untuk menunjukkan bahwa waktu tunggu habis tanpa kondisi terpenuhi.

Keterangan

Jika parameter _FWaitAll diatur ke nilai true untuk menunjukkan bahwa semua peristiwa harus menjadi sinyal untuk memenuhi penantian, indeks yang dikembalikan oleh fungsi tidak membawa signifikansi khusus selain fakta bahwa itu bukan nilai COOPERATIVE_WAIT_TIMEOUT.

Penting

Dalam aplikasi Platform Windows Universal (UWP), jangan memanggil wait_for_multiple utas ASTA karena panggilan ini dapat memblokir utas saat ini dan dapat menyebabkan aplikasi menjadi tidak responsif.

Baca juga

Namespace layanan konkurensi