Task Parallel Library (TPL)Task Parallel Library (TPL)

Task Parallel Library (TPL) je sada veřejných typů a rozhraní API v oborech názvů System.Threading a System.Threading.Tasks.The Task Parallel Library (TPL) is a set of public types and APIs in the System.Threading and System.Threading.Tasks namespaces. Účelem TPL je, aby byli vývojáři produktivnější díky zjednodušení procesu přidávání paralelismu a souběžného zpracování do aplikací.The purpose of the TPL is to make developers more productive by simplifying the process of adding parallelism and concurrency to applications. TPL nastavuje stupeň souběžnosti dynamicky, aby byly co nejefektivněji využity všechny procesory, které jsou k dispozici.The TPL scales the degree of concurrency dynamically to most efficiently use all the processors that are available. Kromě toho TPL zpracovává rozdělení práce, plánování vláken na ThreadPool, podporu zrušení, správu stavu a další podrobnosti nízké úrovně.In addition, the TPL handles the partitioning of the work, the scheduling of threads on the ThreadPool, cancellation support, state management, and other low-level details. Pomocí TPL můžete maximalizovat výkon kódu a zaměřit se na práci, pro kterou je aplikace navržena.By using TPL, you can maximize the performance of your code while focusing on the work that your program is designed to accomplish.

Počínaje .NET Framework 4 je TPL upřednostňovaným způsobem, jak psát vícevláknový a paralelní kód.Starting with the .NET Framework 4, the TPL is the preferred way to write multithreaded and parallel code. Ne všechny kódy jsou však vhodné pro paralelizaci – pokud například smyčka provádí pouze malé množství práce při každé iteraci nebo není použita pro více iterací, potom může režie paralelního zpracování způsobit pomalejší práci s kódem.However, not all code is suitable for parallelization; for example, if a loop performs only a small amount of work on each iteration, or it doesn't run for many iterations, then the overhead of parallelization can cause the code to run more slowly. Paralelizace, stejně jako všechny kódy s více vlákny, dodává provádění programu na složitosti.Furthermore, parallelization like any multithreaded code adds complexity to your program execution. Ačkoli TPL zjednodušuje scénáře s více vlákny, doporučujeme mít základní znalost koncepce práce s vlákny, například uzamčení, zablokování a konflikty časování, abyste mohli TPL používat efektivně.Although the TPL simplifies multithreaded scenarios, we recommend that you have a basic understanding of threading concepts, for example, locks, deadlocks, and race conditions, so that you can use the TPL effectively.

NázevTitle PopisDescription
Datový paralelismusData Parallelism Popisuje, jak vytvořit paralelní for a foreach smyčky (For a For Each v Visual Basic).Describes how to create parallel for and foreach loops (For and For Each in Visual Basic).
Asynchronní programování založené na úloháchTask-based Asynchronous Programming Popisuje, jak vytvářet a spouštět úlohy implicitně pomocí Parallel.Invoke nebo explicitně přímo pomocí objektů Task.Describes how to create and run tasks implicitly by using Parallel.Invoke or explicitly by using Task objects directly.
Tok datDataflow Popisuje způsob použití součásti toku dat v knihovně TPL Dataflow Library pro zpracování více operací, které musí komunikovat mezi sebou, nebo zpracování dat, jakmile budou k dispozici.Describes how to use the dataflow components in the TPL Dataflow Library to handle multiple operations that must communicate with one another or to process data as it becomes available.
Použití TPL s dalšími asynchronními vzoryUsing TPL with Other Asynchronous Patterns Popisuje způsob použití TPL s dalšími asynchronními vzory v rozhraní .NETDescribes how to use TPL with other asynchronous patterns in .NET
Potenciální nástrahy datového a funkčního paralelismuPotential Pitfalls in Data and Task Parallelism Popisuje některé běžné nástrahy a způsob, jak se jim vyhnout.Describes some common pitfalls and how to avoid them.
Paralelní LINQ (PLINQ)Parallel LINQ (PLINQ) Popisuje, jak dosáhnout datového paralelismu s dotazy LINQ.Describes how to achieve data parallelism with LINQ queries.
Paralelní programováníParallel Programming Uzel nejvyšší úrovně pro paralelní programování .NET.Top level node for .NET parallel programming.

Viz také:See also