Udostępnij za pośrednictwem


Lekkie zadań

Niniejszy dokument opisuje rolę lekkie zadania w czasie wykonywania współbieżności.A lekki zadania jest zadaniem, które można zaplanować bezpośrednio z concurrency::Scheduler lub concurrency::ScheduleGroup obiektu.Lekkie zadania podobne do funkcji, która zapewnić API systemu Windows CreateThread funkcji.W związku z tym lekkie zadań są przydatne dostosowanie istniejącego kodu, aby użyć funkcji planowania Runtime współbieżności.Runtime współbieżności, sama używa lekkie zadań zaplanować asynchronicznego agenci i wysyłać wiadomości między blokami asynchroniczny komunikat.

PoradaPorada

Runtime współbieżności zawiera harmonogram domyślny, a więc nie trzeba utworzyć w aplikacji.Ponieważ Harmonogram zadań umożliwia dostosowywanie wydajności aplikacji, firma Microsoft zaleca uruchamiania z Biblioteka desenie równoległe (PPL) lub Biblioteka agentów asynchroniczne , jeśli jesteś nowym Runtime współbieżności.

Lekkie zadań przewozu mniejszego nakładu pracy niż asynchronicznego agentów i grup zadań.Na przykład środowiska wykonawczego nie informują po zakończeniu zadania lekkie.Ponadto środowiska wykonawczego nie catch lub obsługi wyjątków, które są generowane z lekkiego zadania.Aby uzyskać więcej informacji na temat obsługi wyjątków i lekkie zadań zobacz Obsługa wyjątków w Runtime współbieżności.

Dla większości zadań zaleca się używać bardziej niezawodne funkcje, takie jak grupy zadań i algorytmy równoległe, ponieważ umożliwiają one łatwiej podział zadań złożonych na bardziej podstawowe.Aby uzyskać więcej informacji dotyczących grup zadań, zobacz Zadanie równoległości (współbieżności Runtime).Aby uzyskać więcej informacji na temat algorytmów równoległych, zobacz Algorytmy równoległe.

Aby utworzyć zadanie, lekkie, wywołanie concurrency::ScheduleGroup::ScheduleTask, concurrency::CurrentScheduler::ScheduleTask, lub concurrency::Scheduler::ScheduleTask metody.Oczekiwania na zakończenie zadania lekkie, poczekaj harmonogram nadrzędnego zamykanie lub użyć mechanizm synchronizacji, takich jak concurrency::event obiektu.

Przykład

Na przykład, który demonstruje, jak dostosować istniejący kod używany lekkie zadań, zobacz Instruktaż: Dostosowanie istniejącego kodu w celu użycia lekkie zadań.

Zobacz też

Zadania

Instruktaż: Dostosowanie istniejącego kodu w celu użycia lekkie zadań

Koncepcje

Harmonogram zadań (współbieżności Runtime)