Поделиться через


Упрощенные задачи

В этом документе описывается роль упрощенных задач в среде выполнения с параллелизмом.Упрощенная задача — это задача, планируемая непосредственно в объекте concurrency::Scheduler или concurrency::ScheduleGroup.Упрощенная задача напоминает функцию, предоставляемую функции CreateThread Windows API.Следовательно, упрощенные задачи полезны при адаптации существующего кода к использованию функций планирования среды выполнения с параллелизмом.В среде выполнения с параллелизмом упрощенные задачи используются для планирования асинхронных агентов и отправки сообщений между асинхронными блоками сообщений.

СоветСовет

Среда выполнения с параллелизмом предоставляет планировщик по умолчанию, поэтому вам не обязательно создавать собственный.Так как планировщик заданий помогает оптимизировать производительность приложений, рекомендуется начать с раздела Библиотека параллельных шаблонов или Библиотека асинхронных агентов, если вы не знакомы со средой выполнения с параллелизмом.

Упрощенные задачи дают меньшую нагрузку на систему, чем асинхронные агенты и группы задач.Например, среда выполнения не уведомляет о завершении упрощенной задачи.Кроме того, среда выполнения не перехватывает и не обрабатывает исключения, созданные в ходе выполнения упрощенной задачи.Дополнительные сведения об обработке исключений и упрощенных задачах см. в разделе Обработка исключений в среде выполнения с параллелизмом.

Для большинства задач рекомендуется использовать более надежные функции, такие как группы задач и параллельные алгоритмы, потому что они облегчают разложение сложных задач на более простые.Дополнительные сведения о группах задач см. в разделе Параллелизм задач (среда выполнения с параллелизмом).Дополнительные сведения об алгоритмах параллельной обработки см. в разделе Параллельные алгоритмы.

Для создания простой задачи, вызвать concurrency::ScheduleGroup::ScheduleTask, concurrency::CurrentScheduler::ScheduleTask, или concurrency::Scheduler::ScheduleTask метод.Дождаться завершения простой задачи, дождитесь родительского планировщика, завершить работу или использовать механизм синхронизации, такие как concurrency::event объект.

Пример

Пример, в котором показана адаптация существующего кода к использованию упрощенной задачи, см. в разделе Пошаговое руководство. Адаптация существующего кода для использования упрощенных задач.

См. также

Задачи

Пошаговое руководство. Адаптация существующего кода для использования упрощенных задач

Основные понятия

Планировщик задач (среда выполнения с параллелизмом)