Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Met task_completion_event de klasse kunt u de uitvoering van een taak uitstellen totdat aan een voorwaarde is voldaan of een taak starten als reactie op een externe gebeurtenis.
Syntaxis
template<typename _ResultType>
class task_completion_event;
template<>
class task_completion_event<void>;
Parameterwaarden
_ResultType
Het resultaattype van deze task_completion_event klasse.
Leden
Openbare constructors
| Naam | Description |
|---|---|
| taak_voltooiing_gebeurtenis | Maakt een task_completion_event object. |
Openbare methoden
| Naam | Description |
|---|---|
| set | Overbelast. Hiermee stelt u de gebeurtenis voor het voltooien van de taak in. |
| set_exception | Overbelast. Hiermee wordt een uitzondering doorgegeven aan alle taken die aan deze gebeurtenis zijn gekoppeld. |
Opmerkingen
Gebruik een taak die is gemaakt op basis van een taakvoltooiingsgebeurtenis wanneer uw scenario vereist dat u een taak creƫert die voltooit, waardoor de vervolgbewerkingen kunnen worden gepland voor uitvoering op een toekomstige tijdstip. Het task_completion_event moet hetzelfde type hebben als de taak die u maakt, en door de set-methode op de taakvoltooiingsgebeurtenis aan te roepen met een waarde van dat type, wordt de gekoppelde taak voltooid en wordt die waarde als resultaat doorgegeven aan de vervolgtaken.
Als de voltooiingsgebeurtenis van de taak nooit wordt gesignaleerd, worden alle taken die hierop zijn gemaakt, geannuleerd wanneer deze wordt gedestructeerd.
task_completion_event gedraagt zich als een smart pointer en moet als waarde worden doorgegeven.
Overnamehiƫrarchie
task_completion_event
Requirements
Koptekst: ppltasks.h
Naamruimte: concurrentie
set
Hiermee stelt u de gebeurtenis voor het voltooien van de taak in.
bool set(_ResultType _Result) const ;
bool set() const ;
Parameterwaarden
_Resultaat
Het resultaat waarmee deze gebeurtenis moet worden ingesteld.
Retourwaarde
De methode retourneert true als deze is geslaagd bij het instellen van de gebeurtenis. Deze retourneert false als de gebeurtenis al is ingesteld.
Opmerkingen
In aanwezigheid van meerdere of gelijktijdige aanroepen naar set, slaagt alleen de eerste aanroep en wordt het resultaat (indien aanwezig) opgeslagen in de voltooiingsbeurt van de taak. De resterende sets worden genegeerd en de methode retourneert false. Wanneer u een gebeurtenis voor het voltooien van een taak instelt, worden alle taken die op basis van die gebeurtenis zijn gemaakt, onmiddellijk voltooid en worden de vervolgen, indien van toepassing, gepland. Taakvoltooiingsobjecten die een _ResultType andere waarde hebben dan void , geven de waarde door aan hun vervolgen.
set_exception (stel uitzondering in)
Hiermee wordt een uitzondering doorgegeven aan alle taken die aan deze gebeurtenis zijn gekoppeld.
template<typename _E>
__declspec(noinline) bool set_exception(_E _Except) const;
__declspec(noinline) bool set_exception(std::exception_ptr _ExceptionPtr) const ;
Parameterwaarden
_E
Het uitzonderingstype.
_Behalve
De in te stellen uitzondering.
_ExceptionPtr
De uitzonderingspointer die moet worden ingesteld.
Retourwaarde
taak_voltooiing_gebeurtenis
Maakt een task_completion_event object.
task_completion_event();