Zadania lekkie

 

Aby uzyskać najnowszą dokumentację programu Visual Studio 2017 RC, zobacz stronę z dokumentacją tego programu.

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.

System_CAPS_ICON_tip.jpg Porada

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 równoległych wzorców (PLL) lub Biblioteki agentów asynchronicznych , 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.

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 Równoległość zadania. 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 Wskazówki: adaptacja istniejącego kodu do potrzeb zadań lekkich.

Zobacz też

Harmonogram zadań
Wskazówki: adaptacja istniejącego kodu do potrzeb zadań lekkich

Powiązane tematy pomocy
Trwa ładowanie...
Nie znaleziono zasobów.