Udostępnij przez


Zadania lekkie

W tym dokumencie opisano rolę lekkich zadań w środowisku uruchomieniowym współbieżności. Uproszczone zadanie to zadanie zaplanowane bezpośrednio z concurrency::Scheduler obiektu lub concurrency::ScheduleGroup . Uproszczone zadanie przypomina funkcję udostępnianą funkcji CreateThread interfejsu API systemu Windows. W związku z tym uproszczone zadania są przydatne podczas dostosowywania istniejącego kodu do korzystania z funkcji planowania środowiska uruchomieniowego współbieżności. Środowisko uruchomieniowe współbieżności używa lekkich zadań do planowania asynchronicznych agentów i wysyłania komunikatów między blokami komunikatów asynchronicznych.

Napiwek

Środowisko uruchomieniowe współbieżności udostępnia domyślny harmonogram, dlatego nie jest wymagane utworzenie go w aplikacji. Ponieważ harmonogram zadań ułatwia dostosowanie wydajności aplikacji, zalecamy rozpoczęcie od biblioteki równoległych wzorców (PPL) lub biblioteki agentów asynchronicznych, jeśli dopiero zaczynasz pracę ze środowiskiem uruchomieniowym współbieżności.

Uproszczone zadania mają mniejsze obciążenie niż asynchroniczne agenci i grupy zadań. Na przykład środowisko uruchomieniowe nie informuje o zakończeniu uproszczonego zadania. Ponadto środowisko uruchomieniowe nie przechwytuje ani nie obsługuje wyjątków zgłaszanych z uproszczonego zadania. Aby uzyskać więcej informacji na temat obsługi wyjątków i uproszczonych zadań, zobacz Obsługa wyjątków.

W przypadku większości zadań zalecamy użycie bardziej niezawodnych funkcji, takich jak grupy zadań i algorytmy równoległe, ponieważ umożliwiają łatwiejsze podzielenie złożonych zadań na bardziej podstawowe. Aby uzyskać więcej informacji na temat grup zadań, zobacz Równoległość zadań. Aby uzyskać więcej informacji na temat algorytmów równoległych, zobacz Parallel Algorithms (Algorytmy równoległe).

Aby utworzyć uproszczone zadanie, wywołaj współbieżność::ScheduleGroup::ScheduleTask, współbieżność::CurrentScheduler::ScheduleTask lub concurrency::Scheduler::ScheduleTask , metoda. Aby poczekać na zakończenie uproszczonego zadania, poczekaj na zamknięcie nadrzędnego harmonogramu lub użyj mechanizmu synchronizacji, takiego jak obiekt concurrency::event .

Przykład

Aby zapoznać się z przykładem dostosowywania istniejącego kodu do użycia uproszczonego zadania, zobacz Przewodnik: dostosowywanie istniejącego kodu do używania uproszczonych zadań.

Zobacz też

Harmonogram zadań
Przewodnik: adaptacja istniejącego kodu do potrzeb zadań lekkich