Что такое task scheduler task

Task Scheduler

Содержание

Версии [ ]

Task Scheduler 1.0 [ ]

В Windows 95, Windows 98 и Windows Me, Task Scheduler запускается как приложение (mstask.exe). Он отображает иконку состояния в области уведомлений в Windows 95 и Windows 98 и запускается как скрытое приложение в Windows Me. В семействе операционных систем Windows NT он реализован как служба Windows.

Task Scheduler 2.0 [ ]

Примечания [ ]

Ссылки [ ]

Архивация и восстановление • COMMAND.COM • cmd.exe • Средство переноса данных • Просмотр событий • Установщик • netsh.exe • PowerShell • Отчёты о проблемах • rundll32.exe • Программа подготовки системы (Sysprep) • Настройка системы (MSConfig) • Проверка системных файлов • Индекс производительности • Центр обновления • Восстановление системы • Дефрагментация диска • Диспетчер задач • Диспетчер устройств • Консоль управления • Очистка диска • Панель управления ( элементы )

Контакты • DVD Maker • Факсы и сканирование • Internet Explorer • Журнал • Экранная лупа • Media Center • Проигрыватель Windows Media • Программа совместной работы • Центр устройств Windows Mobile • Центр мобильности • Экранный диктор • Paint • Редактор личных символов • Удалённый помощник • Распознавание речи • WordPad • Блокнот • Боковая панель • Звукозапись • Календарь • Калькулятор • Ножницы • Почта • Таблица символов • Исторические: Movie Maker • NetMeeting • Outlook Express • Диспетчер программ • Диспетчер файлов • Фотоальбом • Windows To Go

Chess Titans • Mahjong Titans • Purble Place • Пасьянсы ( Косынка • Паук • Солитер ) • Сапёр • Пинбол • Червы

Ntoskrnl.exe • Слой аппаратных абстракций (hal.dll) • Бездействие системы • svchost.exe • Реестр • Службы • Диспетчер управления сервисами • DLL ( формат модулей ) • PE • NTLDR • Диспетчер загрузки • Программа входа в систему (winlogon.exe) • Консоль восстановления • Windows RE • Windows PE • Защита ядра от изменений

Autorun.inf • Фоновая интеллектуальная служба передачи • Файловая система стандартного журналирования • Отчёты об ошибках • Планировщик классов мультимедиа • Теневая копия • Планировщик задач • Беспроводная настройка

ReFS • NTFS ( Жёсткая ссылка • Точка соединения • Точка монтирования • Точка повторной обработки • Символьная ссылка • TxF • EFS) • WinFS • FAT • exFAT • CDFS • UDF • DFS • IFS

Active Directory • Службы развёртывания • Служба репликации файлов • DNS • Домены • Перенаправление папок • Hyper-V • IIS • Media Services • MSMQ • Защита доступа к сети (NAP) • Службы печати для UNIX • Удалённое разностное сжатие • Службы удаленной установки • Служба управления правами • Перемещаемые профили пользователей • SharePoint • Диспетчер системных ресурсов • Удаленный рабочий стол • WSUS • Групповая политика • Координатор распределённых транзакций

NT • Диспетчер объектов • Пакеты запроса ввода/вывода • Диспетчер транзакций ядра • Диспетчер логических дисков • Диспетчер учетных записей безопасности • Защита ресурсов • lsass.exe • csrss.exe • smss.exe • spoolsv.exe • Запуск

BitLocker • Защитник • Предотвращение выполнения данных • Обязательный контроль целостности • Защищённый канал данных • UAC • UIPI • Брандмауэр • Центр обеспечения безопасности • Защита файлов

Источник

Task Scheduler Класс

Определение

Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.

Представляет объект, обрабатывающий низкоуровневую постановку задач в очередь на потоки.

Примеры

Комментарии

Экземпляр TaskScheduler класса представляет планировщик задач. Планировщик задач гарантирует, что работа над задачей в итоге будет выполнена.

TaskSchedulerКласс также служит точкой расширения для всей настраиваемой логики планирования. Сюда входят такие механизмы, как планирование выполнения задачи и выполнение запланированных задач для отладчиков. Если требуются специальные функции, можно создать пользовательский планировщик и включить его для определенных задач или запросов.

Планировщик задач по умолчанию и пул потоков

Глобальная очередь и локальные очереди

Задачи верхнего уровня, которые являются задачами, не созданными в контексте других задач, помещаются в глобальную очередь так же, как и другие рабочие элементы. Однако вложенные или дочерние задачи, создаваемые в контексте других задач, обрабатываются по-другому. Дочерняя или вложенная задача помещается в локальную очередь, относящуюся к потоку, в котором выполняется родительская задача. Родительская задача может быть задачей верхнего уровня или дочерней задачей другой задачи. Когда этот поток готов для дополнительной работы, сначала он выполняет поиск в локальной очереди. Если в ней существует ожидающие рабочие элементы, к ним возможен быстрый доступ. Доступ к локальным очередям осуществляется по принципу «последним порядку выхода» (ЛИФО), чтобы сохранить локальность кэша и уменьшить состязание. Дополнительные сведения о дочерних задачах и вложенных задачах см. в разделе присоединенные и отсоединенные дочерние задачи.

Использование локальных очередей не только сокращает нагрузку на глобальную очередь, но и использует преимущества локального использования данных. Рабочие элементы в локальной очереди часто ссылаются на структуры данных, которые физически находятся рядом друг с другом в памяти. В этих случаях данные уже находятся в кэше после выполнения первой задачи и могут быть быстро доступны. Параллельный LINQ (PLINQ) и Parallel класс используют вложенные задачи и дочерние задачи широко и обеспечивают значительное ускорение с помощью локальных рабочих очередей.

Перенос нагрузки

Длительные задачи

Может потребоваться явно запретить помещение задачи в локальную очередь. Например, вы знаете, что определенный рабочий элемент будет выполняться довольно долго и может заблокировать другие рабочие элементы в локальной очереди. В таком случае можно указать параметр System.Threading.Tasks.TaskCreationOptions, который подсказывает планировщику, что для задачи может потребоваться дополнительный поток, чтобы она не блокировала дальнейший ход работы других потоков или рабочих элементов в локальной очереди. С помощью этого параметра можно полностью избежать пула потоков, включая глобальные и локальные очереди.

Встраивание задач

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

Указание контекста синхронизации

С помощью метода TaskScheduler.FromCurrentSynchronizationContext можно указать, что задачу необходимо планировать для запуска в определенном потоке. Это полезно на платформах, например Windows Forms и Windows Presentation Foundation, где доступ к объектам пользовательского интерфейса часто ограничен кодом, выполняемым в том же потоке, в котором был создан этот объект пользовательского интерфейса.

в следующем примере TaskScheduler.FromCurrentSynchronizationContext метод в приложении Windows Presentation Foundation (WPF) используется для планирования задачи в том же потоке, в котором был создан элемент управления пользовательского интерфейса. В примере создается мозаика из изображений, которые выбираются случайным образом из указанного каталога. Объекты WPF используются для загрузки и изменения размера изображений. Необработанные пиксели затем передаются в задачу, которая использует For цикл для записи пиксельных данных в большой однобайтовый массив. Синхронизация не требуется, поскольку две плитки не занимают одни и те же элементы массива. Плитки также можно записать в любом порядке, так как их расположение вычисляется независимо от любой другой плитки. После этого большой массив передается задаче, выполняемой в потоке пользовательского интерфейса, в котором данные пикселей загружаются в элемент управления Image.

В примере данные перемещаются из потока пользовательского интерфейса, изменяются с помощью параллельных циклов и Task объектов, а затем передаются обратно в задачу, выполняемую в потоке пользовательского интерфейса. Этот подход удобен, когда необходимо использовать библиотеку параллельных задач для выполнения операций, которые либо не поддерживаются API WPF, либо не выполняются достаточно быстро. Другим способом создания мозаики изображений в WPF является использование System.Windows.Controls.WrapPanel элемента управления и добавление в него изображений. WrapPanelОбрабатывает работу по размещению плиток. Однако эту работу можно выполнить только в потоке пользовательского интерфейса.

чтобы создать пример, создайте проект приложения WPF в Visual Studio и присвойте ему имя WPF_CS1 (для проекта C# wpf) или WPF_VB1 (для проекта Visual Basic wpf). После этого выполните описанные ниже действия.

В режиме конструктора перетащите Image элемент управления из области элементов в левый верхний угол области конструктора. В текстовом поле имя окна свойства назовите элемент управления «Image».

Перетащите Button элемент управления из области элементов в нижнюю левую часть окна приложения. В представлении XAML укажите Content свойство кнопки как «создать мозаику» и укажите его Width свойство как «100». Подключение Click событие с button_Click обработчиком событий, определенным в коде примера, путем добавления Click=»button_Click» к элементу. В текстовом поле имя окна свойства назовите элемент управления «Кнопка».

Замените все содержимое файла MainWindow. XAML. cs или MainWindow. XAML. vb кодом из этого примера. Для проекта C# WPF убедитесь, что имя рабочей области совпадает с именем проекта.

Этот пример имеет некоторые ограничения. Например, поддерживаются только изображения размером 32 бит на пиксель; изображения в других форматах повреждаются BitmapImage объектом во время операции изменения размера. Кроме того, исходные изображения должны быть больше, чем размер плитки. В качестве дальнейшего упражнения можно добавить функциональные возможности для обработки нескольких форматов пикселей и размеров файлов.

Конструкторы

Свойства

Получает объект TaskScheduler, связанный с выполняемой в настоящий момент задачей.

Получает уникальный идентификатор данного объекта TaskScheduler.

Указывает максимальный уровень параллелизма, который может поддерживаться данным планировщиком TaskScheduler.

Методы

Определяет, равен ли указанный объект текущему объекту.

Освобождает все ресурсы, связанные с данным планировщиком.

Создает TaskScheduler для связывания с текущим элементом SynchronizationContext.

Служит хэш-функцией по умолчанию.

Создает перечисляемый объект экземпляров Task, которые в настоящее время находятся в очереди планировщика, ожидая выполнения (только для поддержки отладки).

Возвращает объект Type для текущего экземпляра.

Создает неполную копию текущего объекта Object.

Ставит объект Task в очередь планировщика.

Возвращает строку, представляющую текущий объект.

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

Пытается выполнить предоставленную задачу Task в этом планировщике.

Определяет, можно ли выполнить предоставленную задачу Task в этом вызове синхронно, и если возможно, выполняет ее.

События

Создается при активации политики эскалации исключений из-за непредвиденного исключения задачи, завершившейся сбоем. По умолчанию из-за этой политики процесс будет прерван.

Применяется к

Потокобезопасность

Все члены абстрактного TaskScheduler типа являются потокобезопасными и могут использоваться из нескольких потоков одновременно.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *