Udostępnij za pośrednictwem


task_handle — Klasa

Klasa task_handle reprezentuje pojedynczy równoległy element roboczy. Hermetyzuje instrukcje i dane wymagane do wykonania pracy.

Składnia

template<
    typename _Function
>
class task_handle : public ::Concurrency::details::_UnrealizedChore;

Parametry

_Funkcja
Typ obiektu funkcji, który zostanie wywołany w celu wykonania pracy reprezentowanej task_handle przez obiekt.

Elementy członkowskie

Konstruktory publiczne

Nazwa/nazwisko opis
task_handle Tworzy nowy task_handle obiekt. Praca zadania jest wykonywana przez wywołanie funkcji określonej jako parametru konstruktora.
~task_handle Destruktor task_handle Niszczy obiekt.

Operatory publiczne

Nazwa/nazwisko opis
operator() Operator wywołania funkcji wywoływany przez środowisko uruchomieniowe w celu wykonania pracy dojścia zadania.

Uwagi

task_handle obiekty mogą być używane w połączeniu z structured_task_group lub bardziej ogólnym task_group obiektem, aby rozłożyć pracę na zadania równoległe. Aby uzyskać więcej informacji, zobacz Równoległość zadań.

Należy pamiętać, że twórca task_handle obiektu jest odpowiedzialny za utrzymanie okresu istnienia utworzonego task_handle obiektu, dopóki nie będzie już wymagany przez środowisko uruchomieniowe współbieżności. Zazwyczaj oznacza to, że task_handle obiekt nie może destrukcji, dopóki wait nie zostanie wywołana metoda task_group lub run_and_wait , structured_task_group do której jest on kolejkowany.

task_handle obiekty są zwykle używane w połączeniu z lambdami języka C++. Ponieważ nie znasz prawdziwego typu lambda, funkcja make_task jest zwykle używana do tworzenia task_handle obiektu.

Środowisko uruchomieniowe tworzy kopię funkcji pracy przekazanej task_handle do obiektu. W związku z tym wszelkie zmiany stanu, które występują w obiekcie funkcji przekazywanym task_handle do obiektu, nie będą wyświetlane w kopii tego obiektu funkcji.

Hierarchia dziedziczenia

task_handle

Wymagania

Nagłówek: ppl.h

Przestrzeń nazw: współbieżność

operator()

Operator wywołania funkcji wywoływany przez środowisko uruchomieniowe w celu wykonania pracy dojścia zadania.

void operator()() const;

task_handle

Tworzy nowy task_handle obiekt. Praca zadania jest wykonywana przez wywołanie funkcji określonej jako parametru konstruktora.

task_handle(const _Function& _Func);

Parametry

_Func
Funkcja, która zostanie wywołana w celu wykonania pracy reprezentowanej task_handle przez obiekt. Może to być functor lambda, wskaźnik do funkcji lub dowolny obiekt obsługujący wersję operatora wywołania funkcji z podpisem void operator()().

Uwagi

Środowisko uruchomieniowe tworzy kopię funkcji pracy przekazanej do konstruktora. W związku z tym wszelkie zmiany stanu, które występują w obiekcie funkcji przekazywanym task_handle do obiektu, nie będą wyświetlane w kopii tego obiektu funkcji.

~task_handle

task_handle Niszczy obiekt.

~task_handle();

Zobacz też

Przestrzeń nazw współbieżności
task_group, klasa
structured_task_group, klasa