Планировщик задач (среда выполнения с параллелизмом)
Подразделы в этом разделе документации описываются важные функции планировщика заданий среды выполнения с параллелизмом.Планировщик заданий позволяет оптимизировать производительность существующего кода, использующего среду выполнения с параллелизмом.
![]() |
---|
Планировщик заданий не доступен из приложения Магазина Windows.Дополнительные сведения см. в разделе Создание асинхронных операций в C++ для приложений для Магазина Windows. |
![]() |
---|
Среда выполнения с параллелизмом предоставляет планировщик по умолчанию, поэтому вам не обязательно создавать собственный.Так как планировщик заданий помогает оптимизировать производительность приложений, рекомендуется начать с раздела Библиотека параллельных шаблонов или Библиотека асинхронных агентов, если вы не знакомы со средой выполнения с параллелизмом. |
Планировщик заданий планирует и координирует задачи во время выполнения.Задача — это единица работы, выполняющая конкретные действия.Обычно различные задачи могут выполняться параллельно.В качестве примера задачи можно привести работу, выполняемую элементами группы задач, параллельными алгоритмами и асинхронными агентами.
Планировщик заданий осуществляет управление подробностями задач эффективного планирования на компьютерах с большим объемом вычислительных ресурсов.Планировщик заданий также использует новейшие возможности базовой операционной системы.Таким образом, приложения, использующие среду выполнения с параллелизмом, автоматически масштабируют и совершенствуют оборудование с расширенными возможностями.
В разделе Сравнение среды выполнения с параллелизмом с другими моделями параллелизма описываются различия между механизмами планирования с вытеснением и совместной работой.Планировщик заданий использует совместное планирование и алгоритм переноса нагрузки вместе с планировщиком с вытеснением, предоставленным операционной системой, чтобы обеспечить максимально эффективное использование ресурсов для обработки.
Среда выполнения с параллелизмом предоставляет планировщик по умолчанию, что устраняет необходимость в управлении подробностями инфраструктуры.Поэтому планировщик заданий обычно не используется непосредственно.Однако для удовлетворения качественных требований приложения можно использовать планировщик заданий, чтобы предоставить собственную политику планирования или связать определенные планировщики с конкретными задачами.Например, рассмотрим параллельную операцию сортировки, который невозможно использовать более чем с четырьмя процессорами.Можно использовать политики планировщика, чтобы создать планировщик, не создающий более четырех параллельных задач.Выполнение операции сортировки с этим планировщиком позволяет другим активным планировщикам использовать остающиеся вычислительные ресурсы.
Связанные разделы
Заголовок |
Описание |
---|---|
Описывает экземпляры планировщиков и управление ими с помощью классов concurrency::Scheduler и concurrency::CurrentScheduler.Экземпляры планировщика используются, когда нужно связать явные политики планирования с определенными типами рабочих нагрузок. |
|
Описывает роль политик планировщика.Политики планировщика используются, когда нужно управлять стратегией, которую планировщик использует при управлении задачами. |
|
Описывает роль групп расписаний.Группы расписаний используются, когда требуется высокая локальность заданий, например если группу связанных заданий лучше выполнять в одном узле процессора. |
|
Описывает роль упрощенных задач.Упрощенные задачи удобно использовать при адаптации существующего кода для использования функции планирования в среде выполнения с параллелизмом. |
|
Описывает роль контекстов, функции concurrency::wait и класса concurrency::Context.Эти функции используются, если нужно управлять контекстами, когда они блокируются, разблокируются и передают выполнение, а также если нужно превысить лимит подписки в приложении. |
|
Описывает функции concurrency::Alloc и concurrency::Free.Эти функции могут улучшить производительность памяти, параллельно выделяя и высвобождая память. |
|
Сравнение среды выполнения с параллелизмом с другими моделями параллелизма |
Описывает различия между механизмами планирования с вытеснением и совместной работой. |
Описывает использование в приложении различных параллельных шаблонов, например параллельных алгоритмов. |
|
Описывает использование в приложениях асинхронных агентов. |
|
Описывает среду выполнения с параллелизмом, которая упрощает процесс параллельного программирования, и содержит ссылки на соответствующие разделы. |