Обучение
Модуль
Узнайте больше о параллелизме, одной из самых уникальных возможностей в Go.
Этот браузер больше не поддерживается.
Выполните обновление до Microsoft Edge, чтобы воспользоваться новейшими функциями, обновлениями для системы безопасности и технической поддержкой.
Потоки и асинхронное программирование позволяют приложению выполнять асинхронную работу в параллельных потоках.
Приложение может использовать пул потоков для асинхронной работы в параллельных потоках. Пул потоков управляет набором потоков и использует очередь для назначения рабочих элементов потокам по мере их доступности. Пул потоков аналогичен асинхронным шаблонам программирования, доступным в среда выполнения Windows, так как его можно использовать для выполнения расширенной работы без блокировки пользовательского интерфейса, но пул потоков предлагает больше управления, чем асинхронные шаблоны программирования, и его можно использовать для параллельного выполнения нескольких рабочих элементов. Пул потоков можно использовать для:
Отправка рабочих элементов, управление приоритетом и отмена рабочих элементов.
Планирование рабочих элементов с помощью таймеров и периодических таймеров.
Отложите ресурсы для критически важных рабочих элементов.
Запустите рабочие элементы в ответ на именованные события и семафоры.
Пул потоков эффективнее управлять потоками, так как снижает затраты на создание и уничтожение потоков. Это означает, что он имеет доступ к оптимизации потоков в нескольких ядрах ЦП, и может сбалансировать ресурсы потоков между приложениями и при выполнении фоновых задач. Использование встроенного пула потоков удобно, так как основное внимание уделяется написанию кода, который выполняет задачу вместо механики управления потоками.
Раздел | Описание |
---|---|
Асинхронное программирование (приложения UWP) | В этом разделе описывается асинхронное программирование в универсальная платформа Windows (UWP) и его представление в C#, расширениях компонентов Microsoft Visual Basic .NET, Visual C++ (C++/CX) и JavaScript. |
Асинхронное программирование на C++/CX (приложения UWP) | В этой статье описывается рекомендуемый способ использования асинхронных методов в C++/CX с помощью task класса, определенного concurrency в пространстве имен в ppltasks.h. |
Рекомендации по использованию пула потоков | В этом разделе описаны рекомендации по работе с пулом потоков. |
Вызов асинхронных API в C# или Visual Basic | Универсальная платформа Windows (UWP) включает множество асинхронных API, чтобы гарантировать, что ваше приложение остается адаптивным, когда оно работает, что может занять длительное время. В этом разделе описывается использование асинхронных методов из UWP в C# или Microsoft Visual Basic. |
Создание периодического рабочего элемента | Узнайте, как создать рабочий элемент, повторяющийся периодически. |
Отправка рабочего элемента в пул потоков | Узнайте, как работать в отдельном потоке, отправив рабочий элемент в пул потоков. |
Отправка рабочего элемента с помощью таймера | Узнайте, как создать рабочий элемент, который выполняется после истечения таймера. |
Обучение
Модуль
Узнайте больше о параллелизме, одной из самых уникальных возможностей в Go.