Лабораторная работа № 3.1
КООРДИНАЦИЯ ЗАДАЧ
Цель – ознакомление с основными строительными блоками TPL, которые могут использоваться в процессе создания современных параллельных программ (продолжениями и дочерними задачами); рассмотрение нескольких более совершенных методов синхронизации; ознакомление с параллельным шаблоном «потребитель-производитель» и пользовательским планировщиком, которые являются одними из самых полезных и гибких инструментов, доступных в параллельном программировании надежных и эффективных приложений.
Содержание работы
1. Простое продолжение задачи (Листинг 1).




2. Возвращение результатов из задачи-продолжения (Листинг 2).




3. Использование множественных генераций продолжения (Листинг 3).



4. Продолжения, основанные на исключениях (Листинг 4).



Закоментируйте выброс исключения в задаче-предшественнике.

Повторите выполнение программы.

5. Многозадачное продолжение (Листинг 5).



6. Использование TaskFactory.ContinueWhenAny() (Листинг 6).




Выводы
В этом разделе были рассмотрены основные строительные блоки TPL, которые могут использоваться в процессе создания современнымных параллельных программ. Продолжения и дочерние задачи позволяют объединять вместе части работы, которые выполняются только в случае, если Ваши критерии удовлетворены. Мы также рассмотрели несколько более совершенных методов синхронизации – инструментов, которые используются, чтобы гарантировать предсказуемое выполнение Вашего кода.
Этот раздел также представил параллельный шаблон «потребитель-производитель» и пользовательский планировщик, которые являются одними из самых полезных и гибких инструментов, доступных в параллельном программировании, и овладение мастерством их использования поможет Вам создавать более надежные и эффективные приложения.






