Biblioteka zadań równoległych (TPL)

Biblioteka równoległa zadań (TPL) to zestaw typów publicznych i interfejsów API w System.Threading przestrzeniach nazw i System.Threading.Tasks . Zadaniem biblioteki TPL jest zwiększenie produktywności deweloperów przez uproszczenie procesu dodawania równoległości i współbieżności do aplikacji. Technologia TPL dynamicznie skaluje stopień współbieżności w celu najbardziej wydajnego używania wszystkich dostępnych procesorów. Ponadto TPL obsługuje partycjonowanie pracy, planowanie wątków w ThreadPoolsystemie , obsługę anulowania, zarządzanie stanem i inne szczegóły niskiego poziomu. Za pomocą TPL można zmaksymalizować wydajność kodu przy jednoczesnym skoncentrowaniu się na pracy, którą program ma wykonać.

W programie .NET Framework 4 preferowanym sposobem na pisanie kodu wielowątkowego i równoległego jest TPL. Jednak nie cały kod jest odpowiedni do przetwarzania równoległego. Jeśli na przykład pętla wykonuje tylko niewielką ilość pracy na każdej iteracji lub nie jest uruchamiana dla wielu iteracji, obciążenie związane z równoległością może spowodować, że kod działa wolniej. Ponadto równoległość, podobnie jak każdy kod wielowątkowy, zwiększa złożoność wykonywania programu. Chociaż TPL upraszcza scenariusze wielowątkowe, zalecamy przynajmniej podstawowe zrozumienie pojęcia wątkowości, na przykład blokad, zakleszczeń i sytuacje wyścigu, aby skutecznie korzystać z TPL.

Nazwa opis
Równoległość danych Opisuje sposób tworzenia równoległych for i foreach pętli (For i For Each w Visual Basic).
Programowanie asynchroniczne oparte na zadaniach Opisuje sposób tworzenia i uruchamiania zadań niejawnie przy użyciu lub jawnie przy Task użyciu Parallel.Invoke obiektów bezpośrednio.
Przepływ danych Opisuje sposób używania składników przepływu danych w bibliotece przepływów danych TPL do obsługi wielu operacji. Te operacje muszą komunikować się ze sobą i przetwarzać dane, gdy staną się dostępne.
Potencjalne pułapki związane z równoległością danych i zadań Opisuje kilka typowych pułapek oraz sposoby unikania ich.
Równoległe LINQ (PLINQ) Opisuje sposób osiągnięcia równoległości danych za pomocą zapytań LINQ.
Programowanie równoległe Węzeł najwyższego poziomu dla programowania równoległego platformy .NET.

Zobacz też