Freigeben über


structured_task_group::run-Methode

Plant eine Aufgabe für das structured_task_group-Objekt. Der Aufrufer verwaltet die Lebensdauer des task_handle-Objekts, das im _Task_handle-Parameter übergeben wurde.

template<
   class _Function
>
void run(
   task_handle<_Function>& _Task_handle
);

Parameter

  • _Function
    Der Typ des Funktionsobjekts, das aufgerufen wird, um den Text des Aufgabenhandles auszuführen.

  • _Task_handle
    Ein Handle für die Arbeit, die geplant wird. Beachten Sie, dass der Aufrufer die Verantwortung für die Lebensdauer dieses Objekts hat. Die Laufzeit erwartet weiterhin, dass es aktiv ist, bis die wait-Methode oder run_and_wait-Methode für dieses structured_task_group-Objekt aufgerufen wurde.

Hinweise

Beim Testlauf wird eine Kopie der Arbeitsfunktion erstellt, die an diese Methode übergeben wird. Zustandsänderungen, die in einem an diese Methode übergebenen Funktionsobjekt auftreten, werden nicht in der Kopie dieses Funktionsobjekts angezeigt.

Wenn structured_task_group als Ergebnis der Stapelentladung aufgrund einer Ausnahme zerstört wird, müssen Sie nicht garantieren, dass die wait-Methode oder die run_and_wait-Methode aufgerufen wurde. In diesem Fall bricht der Destruktor korrekt ab und wartet auf den Abschluss der durch den _Task_handle-Parameter dargestellten Aufgabe.

Löst eine invalid_multiple_scheduling-Ausnahme aus, wenn das vom _Task_handle-Parameter angegebene Aufgabenhandle bereits für ein Aufgabengruppenobjekt über die run-Methode geplant wurde und es keinen zwischenzeitlichen Aufruf der wait-Methode oder der run_and_wait-Methode für diese Aufgabengruppe gab.

Anforderungen

Header: ppl.h

Namespace: Concurrency

Siehe auch

Referenz

structured_task_group-Klasse

structured_task_group::wait-Methode

Konzepte

Aufgabenparallelität (Concurrency Runtime)

Weitere Ressourcen

structured_task_group::run_and_wait-Methode