Отмена задач может потребоваться по различным причинам — долгое выполнение задач, отмена выполнения каких-либо действий, в случае, если задача завершилась с ошибкой и так далее. В TPL предусмотрена возможность отмены параллельных задач с использованием специального объекта — CancellationToken
.
TPL
Библиотека TPL C#. Задачи продолжения (continuation task)
Задачи продолжения (continuation task) или просто «продолжение» — это такие задачи, которые могут вызываться другой задаче (предшествующей), при завершении этой предшествующей задачи. Использование продолжений позволяет организовать цепочки взаимосвязанных задач и передавать некоторые результаты из одной задачи в другую.
Библиотека TPL C#. Работа с Task
В предыдущей части, касающейся библиотеки TPL, мы рассмотрели основные моменты по созданию и запуску задач (Task
). В этой части мы продолжим работу с объектами класса Task и более детально рассмотрим свойства и методы класса Task
.
Библиотека TPL C#. Параллельное программирование
Основная цель Task Parallel Library (TPL, библиотека параллельных задач) — повышение производительности разработчиков при добавлении многопоточности в приложения C#. Начиная с .NET Framework 4 наиболее предпочтительным вариантом использования многопоточности в приложении является использование именно библиотек TPL, но, при этом, такие классы как Thread
, который мы рассматривали в предыдущей части, также могут использоваться и все также находят широкое применение на сегодняшний день.
Параллельное программирование в C#: создание и выполнение задач (Task)
В наше время — время многоядерных процессоров, параллельное программирование становится все более и более востребованной задачей при разработке программного обеспечения. В .NET Framework 4 была добавлена удобная библиотека для параллельного программирования — Task Parallel library (библиотека параллельных задач) или, сокращенно, TPL. Так, если ранее нам приходилось тратить достаточно много времени на разработку потоков (Thread), выполнение взаимоблокировок и прочих задач, обеспечивающих эффективное и безопасное параллельное выполнение нескольких задач, то с TPL мы получили удобный и эффективный инструмент для параллельного программирования в C#, позволяющий разрабатывать программное обеспечение, максимально использующее все возможности современных компьютеров.