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.
De task_handle klasse vertegenwoordigt een afzonderlijk parallel werkitem. Hierin worden de instructies en de gegevens ingekapseld die nodig zijn om een stuk werk uit te voeren.
Syntaxis
template<
typename _Function
>
class task_handle : public ::Concurrency::details::_UnrealizedChore;
Parameterwaarden
_Functie
Het type van het functieobject dat wordt aangeroepen om het werk uit te voeren dat wordt vertegenwoordigd door het task_handle-object.
Leden
Openbare constructors
| Naam | Description |
|---|---|
| task_handle | Maakt een nieuw task_handle object. Het werk van de taak wordt uitgevoerd door de functie aan te roepen die is opgegeven als een parameter voor de constructor. |
| ~task_handle destructeur | Vernietigt het task_handle object. |
Openbare operators
| Naam | Description |
|---|---|
| operator() | De functie-aanroepoperator die door de runtime wordt gebruikt om het werk van de taakhouder uit te voeren. |
Opmerkingen
task_handle objecten kunnen worden gebruikt in combinatie met een structured_task_group of meer algemeen task_group object om werk in parallelle taken op te splitsen. Zie taakparallellismevoor meer informatie.
Houd er rekening mee dat de maker van een task_handle object verantwoordelijk is voor het onderhouden van de levensduur van het gemaakte task_handle object totdat het niet meer nodig is voor de Gelijktijdigheidsruntime. Normaal gesproken betekent dit dat het task_handle object niet mag worden vernietigd totdat de wait of run_and_wait methode van het task_group of structured_task_group waarop het in de wachtrij staat, is aangeroepen.
task_handle objecten worden doorgaans gebruikt in combinatie met C++ lambdas. Omdat u het ware type lambda niet weet, wordt de functie make_task doorgaans gebruikt om een task_handle object te maken.
De runtime maakt een kopie van de werkfunctie die u doorgeeft aan een task_handle object. Daarom worden alle statuswijzigingen die optreden in een functieobject dat u doorgeeft aan een task_handle object, niet weergegeven in uw kopie van dat functieobject.
Overnamehiƫrarchie
task_handle
Requirements
Koptekst: ppl.h
Naamruimte: concurrentie
operator()
De operator die door de runtime wordt aangeroepen om de functie uit te voeren die het werk van het taakobject verricht.
void operator()() const;
taakgreep
Maakt een nieuw task_handle object. Het werk van de taak wordt uitgevoerd door de functie aan te roepen die is opgegeven als een parameter voor de constructor.
task_handle(const _Function& _Func);
Parameterwaarden
_Func
De functie die wordt aangeroepen om het werk uit te voeren dat wordt vertegenwoordigd door het task_handle-object. Dit kan een lambda functor, een aanwijzer naar een functie of een object zijn dat een versie van de operator voor functieoproep ondersteunt met de handtekening void operator()().
Opmerkingen
De runtime maakt een kopie van de werkfunctie die u doorgeeft aan de constructor. Daarom worden alle statuswijzigingen die optreden in een functieobject dat u doorgeeft aan een task_handle object, niet weergegeven in uw kopie van dat functieobject.
~task_handle
Vernietigt het task_handle object.
~task_handle();
Zie ook
concurrentie Namespace
task_group-klasse
structured_task_group-klasse