Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Událost manuálního obnovení, která je explicitně kompatibilní s Concurrency Runtime.
Syntaxe
class event;
Členové
Veřejné konstruktory
| Název | Popis |
|---|---|
| ~destruktor událostí | Zničí událost. |
Veřejné metody
| Název | Popis |
|---|---|
| resetovat | Obnoví událost do nesignalizovaného stavu. |
| nastavit | Signalizuje událost. |
| Počkej | Čeká, až bude událost signalizována. |
| wait_for_multiple | Čeká na signalizaci více událostí. |
Veřejné konstanty
| Název | Popis |
|---|---|
| timeout_infinite | Hodnota označující, že čekání nikdy nevyprší časový limit. |
Poznámky
Další informace naleznete v tématu Synchronizace datových struktur.
Hierarchie dědičnosti
event
Požadavky
Hlavička: concrt.h
Obor názvů: souběžnost
událost
Vytvoří novou událost.
_CRTIMP event();
~událost
Zničí událost.
~event();
Poznámky
Očekává se, že při spuštění destruktoru na událost nečekají žádná vlákna. Povolení destrukce události, pokud na ni stále čekají vlákna, může vést k nedefinovanému chování.
obnovit
Obnoví událost do nesignalizovaného stavu.
void reset();
set
Signalizuje událost.
void set();
Poznámky
Signalizace události může způsobit, že libovolný počet kontextů čekajících na událost se stane spustitelnými.
timeout_infinite
Hodnota označující, že čekání by nikdy nemělo vypršet časově.
static const unsigned int timeout_infinite = COOPERATIVE_TIMEOUT_INFINITE;
počkejte
Čeká na signál označující událost.
size_t wait(unsigned int _Timeout = COOPERATIVE_TIMEOUT_INFINITE);
Parametry
_Přerušení zápasu
Určuje počet milisekund před uplynutím časového limitu čekání. Hodnota COOPERATIVE_TIMEOUT_INFINITE označuje, že neexistuje žádný časový limit.
Návratová hodnota
Pokud bylo čekání splněno, vrátí se hodnota 0 . V opačném případě hodnota COOPERATIVE_WAIT_TIMEOUT značí, že časový limit čekání vypršel bez signálu události.
Důležité
V aplikaci Universal Windows Platform (UWP) nevolejte wait na vlákno ASTA, protože toto volání může blokovat aktuální vlákno a může způsobit, že aplikace přestane reagovat.
wait_for_multiple
Čeká na signalizaci více událostí.
static size_t __cdecl wait_for_multiple(
_In_reads_(count) event** _PPEvents,
size_t count,
bool _FWaitAll,
unsigned int _Timeout = COOPERATIVE_TIMEOUT_INFINITE);
Parametry
_PPEvents
Pole událostí, na které se má čekat. Počet událostí v rámci pole je označen parametrem count .
count
Počet událostí v rámci pole zadaného v parametru _PPEvents .
_FWaitAll
Pokud je nastavená hodnota true, parametr určuje, že všechny události v poli zadaném v parametru _PPEvents musí být signalizovány, aby mohla být čekání splněna. Pokud je hodnota nastavena na false, určuje, že jakákoli událost v poli zadaném parametrem _PPEvents, která se stane signalizovanou, splní podmínku čekání.
_Přerušení zápasu
Určuje počet milisekund před uplynutím časového limitu čekání. Hodnota COOPERATIVE_TIMEOUT_INFINITE označuje, že neexistuje žádný časový limit.
Návratová hodnota
Pokud bylo čekání splněno, index v poli zadaném v parametru _PPEvents , který splnil podmínku čekání, jinak hodnota COOPERATIVE_WAIT_TIMEOUT označující, že časový limit čekání vypršel bez splnění podmínky.
Poznámky
Pokud je parametr _FWaitAll nastaven na hodnotu true označující, že všechny události musí být signalizovat, aby uspokojily čekání, index vrácený funkcí nemá žádný zvláštní význam, než je skutečnost, že to není hodnota COOPERATIVE_WAIT_TIMEOUT.
Důležité
V aplikaci Universal Windows Platform (UWP) nevolejte wait_for_multiple na vlákně ASTA, protože toto volání může blokovat aktuální vlákno a může způsobit, že aplikace může přestat reagovat.