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.
Třída task_handle představuje individuální paralelní pracovní položku. Zapouzdřuje pokyny a data potřebná ke spuštění kusu práce.
Syntaxe
template<
typename _Function
>
class task_handle : public ::Concurrency::details::_UnrealizedChore;
Parametry
_Funkce
Typ objektu funkce, který bude vyvolán ke spuštění práce reprezentované objektem task_handle .
Členové
Veřejné konstruktory
| Název | Popis |
|---|---|
| task_handle | Vytvoří nový task_handle objekt. Práce úlohy se provádí vyvoláním funkce určené jako parametr konstruktoru. |
| ~task_handle Destruktor | task_handle Zničí objekt. |
Veřejné operátory
| Název | Popis |
|---|---|
| operator() | Operátor volání funkce, který modul runtime vyvolá, aby provedl práci popisovače úkolu. |
Poznámky
task_handle objekty lze použít ve spojení s objektem structured_task_group nebo obecnějším task_group objektem k dekompilování práce do paralelních úloh. Další informace naleznete v tématu Paralelismus úkolu.
Všimněte si, že tvůrce task_handle objektu je zodpovědný za udržování životnosti vytvořeného task_handle objektu, dokud už není vyžadován modulem Concurrency Runtime. Obvykle to znamená, že task_handle objekt nesmí destrukci, dokud nebyla wait volána metoda nebo run_and_wait metoda task_group , structured_task_group do které je zařazena do fronty.
task_handle objekty se obvykle používají ve spojení s lambdami jazyka C++. Vzhledem k tomu, že neznáte skutečný typ lambda, funkce make_task se obvykle používá k vytvoření objektu task_handle .
Modul runtime vytvoří kopii pracovní funkce, kterou předáte objektu task_handle . Všechny změny stavu, ke kterým dojde v objektu funkce, který předáte objektu task_handle , se proto nezobrazí ve vaší kopii tohoto objektu funkce.
Hierarchie dědičnosti
task_handle
Požadavky
Hlavička: ppl.h
Obor názvů: souběžnost
operator()
Operátor volání funkce, který modul runtime vyvolá, aby provedl práci popisovače úkolu.
void operator()() const;
task_handle
Vytvoří nový task_handle objekt. Práce úlohy se provádí vyvoláním funkce určené jako parametr konstruktoru.
task_handle(const _Function& _Func);
Parametry
_Func
Funkce, která bude vyvolána ke spuštění práce reprezentované objektem task_handle . Může to být lambda functor, ukazatel na funkci nebo jakýkoli objekt, který podporuje verzi operátoru volání funkce s podpisem void operator()().
Poznámky
Modul runtime vytvoří kopii pracovní funkce, kterou předáte konstruktoru. Všechny změny stavu, ke kterým dojde v objektu funkce, který předáte objektu task_handle , se proto nezobrazí ve vaší kopii tohoto objektu funkce.
~task_handle
task_handle Zničí objekt.
~task_handle();
Viz také
concurrency – obor názvů
task_group – třída
structured_task_group – třída