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