Metoda task_group::Run
Planuje zadanie na task_group obiektu.Jeśli task_handle obiektu jest przekazywana jako parametr do run, obiekt wywołujący jest odpowiedzialna za zarządzanie istnienia task_handle obiektu.Wersja metody, która przyjmuje odwołanie do obiektu funkcji jako parametr polega alokację sterty wewnątrz runtime, które mogą być wykonywać również mniej niż przy użyciu wersji, która przyjmuje odwołanie do task_handle obiektu.Wersja, która przyjmuje parametr _Placement powoduje być obciążona w kierunku wykonywania w lokalizacji określonej przez parametr tego zadania.
template<
typename _Function
>
void run(
const _Function& _Func
);
template<
typename _Function
>
void run(
const _Function& _Func,
location& _Placement
);
template<
typename _Function
>
void run(
task_handle<_Function>& _Task_handle
);
template<
typename _Function
>
void run(
task_handle<_Function>& _Task_handle,
location& _Placement
);
Parametry
_Function
Typ obiektu funkcji, który zostanie wywołany organ uchwyt zadania wykonać._Func
Funkcja, która będzie wywoływana wywoływanie treści zadania.Może to być wyrażenie lambda lub inny obiekt, który obsługuje wersję operator wywołania funkcji z podpisem void operator()()._Placement
Odwołanie do lokalizacji, w których zadania są reprezentowane przez _Func powinno być wykonane przez parametr._Task_handle
Uchwyt do pracy z harmonogramem.Należy zauważyć, że obiekt wywołujący ponosi odpowiedzialność za okres istnienia tego obiektu.Środowisko wykonawcze będzie nadal oczekiwać, iż live aż do wait lub run_and_wait w tej sprawie została wywołana metoda task_group obiektu.
Uwagi
Środowisko wykonawcze planuje przewidziano funkcji pracy do uruchamiania w późniejszym czasie może być po powrocie z funkcji wywołującej.Metoda ta wykorzystuje task_handle obiektu do przechowywania kopii przewidziano funkcji pracy.Dlatego wszelkie zmiany Państwa, które występują w obiekcie funkcji, który jest przekazywany do tej metody nie pojawi się w Twojej kopii obiektu tej funkcji.Ponadto upewnij się, okres istnienia żadnych obiektów, które przechodzą przez wskaźnik lub odwołanie do funkcji pracy pozostają ważne, dopóki funkcja pracy.
Jeśli task_group destructs w wyniku stosu niekontrolowanej z wyjątek, nie trzeba zagwarantować, że wywołanie dokonano do albo wait lub run_and_wait metody.W tym przypadku destruktor będzie odpowiednio anulować i poczekaj zadania reprezentowane przez _Task_handle parametr, aby zakończyć.
Metoda invalid_multiple_scheduling wyjątku, jeśli zadania obsługi podana przez _Task_handle parametr została zaplanowana na obiekt grupy zadań za pomocą run metody i nie było żadnych interwencyjnym wywołanie albo wait lub run_and_wait metody dla tej grupy zadań.
Wymagania
Nagłówek: ppl.h
Obszar nazw: współbieżności
Zobacz też
Informacje
Metoda task_group::run_and_wait