Udostępnij za pośrednictwem


Metoda task_group::run_and_wait

Planuje zadanie do uruchomienia wbudowanej w kontekście wywołującego przy pomocy task_group obiektu dla obsługi pełnego anulowania.Funkcja następnie czeka, aż wszystkie pracować nad task_group obiektu została zakończona lub zostało anulowane.Jeśli task_handle obiektu jest przekazywana jako parametr do run_and_wait, obiekt wywołujący jest odpowiedzialna za zarządzanie istnienia task_handle obiektu.

template<
   class _Function
>
task_group_status run_and_wait(
   task_handle<_Function>& _Task_handle
);

template<
   class _Function
>
task_group_status run_and_wait(
   const _Function& _Func
);

Parametry

  • _Function
    Typ obiektu funkcji, który zostanie wywołany do wykonania treści zadania.

  • _Task_handle
    Uchwyt do zadania, które będzie uruchamiane wbudowanej w kontekście wywołującego.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 run_and_wait metoda kończy wykonywanie.

  • _Func
    Funkcja, która będzie wywoływana wywoływanie jednostka pracy.Może to być wyrażenie lambda lub inny obiekt, który obsługuje wersję operator wywołania funkcji z podpisem void operator()().

Wartość zwracana

Wskazanie, czy zostało spełnione oczekiwania lub grupy zadań została anulowana, z powodu jawne Anuluj operację lub jest wyjątek z jednym z jego zadań.Aby uzyskać więcej informacji, zobacz task_group_status.

Uwagi

Należy zauważyć, że jeden lub więcej zadań zaplanowanych w tym task_group obiekt wbudowany może być wykonywany w kontekście wywołującego.

Jeśli jeden lub więcej zadań zaplanowanych w tym task_group obiekt zgłasza wyjątek, środowisko wykonawcze będzie zaznacz jeden taki wyjątek jego wybór i propagowanie go z wywołanie run_and_wait metody.

Po powrocie z run_and_wait metody na task_group obiektu runtime resetuje obiektu do stanu czystego, gdzie można ponownie.Obejmuje to przypadku gdy task_group obiektu została anulowana.

W wyjątkowych ścieżka wykonanie, masz mandatu wywołanie tej metody albo lub wait metoda przed destruktora z task_group wykonuje.

Wymagania

Nagłówek: ppl.h

Obszar nazw: współbieżności

Zobacz też

Informacje

Klasa task_group

Metoda task_group::Run

Metoda task_group::wait

Koncepcje

Zadanie równoległości (współbieżności Runtime)