Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Потоки и асинхронное программирование позволяют приложению выполнять асинхронную работу в параллельных потоках без блокировки пользовательского интерфейса.
Приложение может использовать пул потоков для асинхронной работы в параллельных потоках. Пул потоков управляет набором потоков и использует очередь для назначения рабочих элементов потокам по мере их доступности. Пул потоков аналогичен асинхронным шаблонам программирования, доступным в среда выполнения Windows, так как его можно использовать для выполнения расширенной работы без блокировки пользовательского интерфейса, но пул потоков предлагает больше управления, чем асинхронные шаблоны программирования, и его можно использовать для параллельного выполнения нескольких рабочих элементов. Пул потоков можно использовать для:
- Отправка рабочих элементов, управление приоритетом и отмена рабочих элементов.
- Планирование рабочих элементов с помощью таймеров и периодических таймеров.
- Отложите ресурсы для критически важных рабочих элементов.
- Запустите рабочие элементы в ответ на именованные события и семафоры.
Пул потоков эффективнее управляет потоками, так как снижает накладные расходы на создание и уничтожение потоков. Он имеет доступ к оптимизации потоков в нескольких ядрах ЦП, и может сбалансировать ресурсы потоков между приложениями и при выполнении фоновых задач. Использование встроенного пула потоков удобно, так как основное внимание уделяется написанию кода, который выполняет задачу вместо механики управления потоками.
| Тема | Описание |
|---|---|
| Рекомендации по использованию пула потоков | Рекомендации по работе с пулом потоков. |
| Вызов асинхронных API в C# или Visual Basic | Использование асинхронных API в C# или Visual Basic в приложении Windows. |
| Создание периодического рабочего элемента | Как создать рабочий элемент, повторяющийся периодически. |
| Отправить рабочий элемент в пул потоков | Как выполнить работу в отдельном потоке, поместив задачу в пул потоков. |
| Отправка рабочего элемента с помощью таймера | Как создать рабочий элемент, который выполняется после истечения таймера. |
Связанные материалы
Windows developer