Пространства имен System.Threading
Пространства имен System.Threading, System.Threading.Tasks и System.Threading.Tasks.DataFlow содержат типы, которые обеспечивают возможность многопоточного программирования и упрощают создание параллельного и асинхронного кода.
В этом разделе описываются типы пространств имен System.Threading, System.Threading.Tasks и System.Threading.Tasks.DataFlow, которые входят в Приложения .NET для Магазина Windows и могут быть установлены и использованы для создания приложений Магазина Windows. Обратите внимание, что Приложения .NET для Магазина Windows не включает все члены каждого типа. Дополнительные сведения об типах см. в соответствующих разделах. Документация по типу показывает, какие члены включены в Приложения .NET для Магазина Windows.
Чтобы установить пространство имен System.Threading.Tasks.Dataflow, откройте проект в Visual Studio 2012, в меню Проект выберите Управление пакетами NuGet и выполните в Интернете поиск пакета Microsoft.Tpl.Dataflow.
Пространство имен System.Threading
Типы, поддерживаемые в Приложения .NET для Магазина Windows |
Описание |
---|---|
Исключение вызывается, когда некоторый поток получает объект мьютекса, брошенный другим потоком путем выхода без высвобождения. |
|
Уведомляет ожидающий поток о том, что произошло событие. Этот класс не наследуется. |
|
Позволяет нескольким задачам параллельно работать с алгоритмом, используя несколько фаз. |
|
Исключение, которое возникает при сбое действия барьера, выполняемого в конце фазы. |
|
Распространяет уведомление о том, что операции следует отменить. |
|
Представляет делегат обратного вызова, зарегистрированный с объектом CancellationToken. |
|
Отправляет токену CancellationToken сигнал для отмены. |
|
Представляет примитив синхронизации, которому отправляется сигнал при достижении счетчиком нуля. |
|
Указывает, сбрасывается ли EventWaitHandle автоматически или вручную после получения сигнала. |
|
Представляет событие синхронизации потока. |
|
Предоставляет атомарные операции для переменных, общедоступных нескольким потокам. |
|
Обеспечивает процедуры инициализации адаптирующегося типа. |
|
Задает способ синхронизации доступа в нескольких потоках экземпляром Lazy<T>. |
|
Исключение, которое создается, когда рекурсивная запись блокировки не совместима с рекурсивной политикой блокировки. |
|
Указывает, можно ли несколько раз войти в блокировку из одного и того же потока. |
|
Уведомляет один или более ожидающих потоков о том, что произошло событие. Этот класс не наследуется. |
|
Предоставляет уменьшенную версию ManualResetEvent. |
|
Предоставляет механизм для синхронизации доступа к объектам. |
|
Примитив синхронизации, который также может использоваться в межпроцессорной синхронизации. |
|
Представляет блокировку, используемую для управления доступом к ресурсу, которая позволяет нескольким потокам производить считывание или получать монопольный доступ на запись. |
|
Ограничивает число потоков, которые могут одновременно обращаться к ресурсу или пулу ресурсов. |
|
Это исключение создается при вызове метода Release семафора, счетчик которого уже равен максимальному значению. |
|
Упрощенная альтернатива семафору, ограничивающая количество потоков, которые могут параллельно обращаться к ресурсу или к пулу ресурсов. |
|
Задает метод, вызываемый при отправке сообщения в контекст синхронизации. |
|
Предоставляет примитив взаимно исключающей блокировки, в котором поток, пытающийся получить блокировку, ожидает в состоянии цикла, проверяя доступность блокировки. |
|
Предоставляет поддержку ожидания на основе прокруток. |
|
Обеспечивает базовую функциональность для распространения контекста синхронизации в различных моделях синхронизации. |
|
Исключение, которое создается в то время, когда методу требуется вызвавший его объект для получения блокировки данного монитора, а метод вызван объектом, не являющимся владельцем блокировки. |
|
Предоставляет хранилище для данных, локальных для потока. |
|
Содержит константы, определяющие бесконечные интервалы времени ожидания. Этот класс не наследуется. |
|
Содержит методы для выполнения операций энергонезависимой памяти. |
|
Инкапсулирует связанные с операционной системой объекты, ожидающие монопольного доступа к общим ресурсам. |
|
Исключение возникает при попытке открыть несуществующий системный семафор или мьютекс. |
Пространство имен System.Threading.Tasks
Типы, поддерживаемые в Приложения .NET для Магазина Windows |
Описание |
---|---|
Предоставляет планировщики параллельных и эксклюзивных задач, которые координируются для выполнения задач, чтобы параллельные задачи могли выполняться одновременно, а эксклюзивные задачи — нет. |
|
Предоставляет поддержку параллельных циклов и областей. |
|
Предоставляет состояние выполнения параллельного цикла. |
|
Позволяет итерациям параллельных циклов взаимодействовать с другими итерациями. Экземпляр этого класса предоставляется каждому циклу классом Parallel; невозможно создавать экземпляры в пользовательском коде. |
|
Хранит параметры, настраивающие работу методов класса Parallel. |
|
Представляет асинхронную операцию. |
|
Представляет асинхронную операцию, которая может вернуть значение. |
|
Представляет исключение, используемое для передачи отмены задачи. |
|
Представляет сторону производителя задач Task<TResult>, не привязанных к делегату и предоставляющих доступ к потребительской стороне через свойство TaskCompletionSource<T>.Task. |
|
Задает поведение для задачи, созданной с помощью метода ContinueWith или Task<T>.ContinueWith. |
|
Задает флаги, которые управляют необязательным поведением создания и выполнения задач. |
|
Предоставляет набор статических (Shared в Visual Basic) методов для работы с определенными типами экземпляров Task. |
|
Предоставляет поддержку создания и планирования объектов Task. |
|
Предоставляет поддержку создания и планирования объектов Task<T>. |
|
Представляет объект, обрабатывающий низкоуровневую постановку задач в очередь на потоки. |
|
Представляет исключение, используемое для передачи недопустимой операции объектом TaskScheduler. |
|
Представляет текущий этап жизненного цикла задачи. |
|
Предоставляет данные для события, создаваемого, когда происходит непредвиденное исключение задачи с ошибкой. |
Пространство имен System.Threading.Tasks.DataFlow
Чтобы установить пространство имен System.Threading.Tasks.Dataflow, откройте проект в Visual Studio 2012, в меню Проект выберите пункт Управление пакетами NuGet и найдите в Интернете пакет Microsoft.Tpl.Dataflow package.
Типы, поддерживаемые в Приложения .NET для Магазина Windows |
Описание |
---|---|
Предоставляет блокировку потока данных, которая вызывает предоставленный делегат Action<T> для каждого полученного элемента данных. |
|
Предоставляет блок потока данных, объединяющий вводы в массивы. |
|
Предоставляет блок потока данных, включающий заданное число вводов потенциально различающихся типов, предоставляемых для одного или нескольких целевых объектов. |
|
Предоставляет блок потока данных, включающий заданное число вводов потенциально различающихся типов, предоставляемых для одного или нескольких целевых объектов. |
|
Предоставляет буфер для хранения максимум одного элемента за раз. Сообщение перезаписывается следующим по мере поступления. Сообщения рассылаются всем связанным целевым объектам, все из которых могут потреблять клон сообщения. |
|
Предоставляет буфер для хранения данных. |
|
Предоставляет набор статических (Shared в Visual Basic) методов для работы с блоками потоков данных. |
|
Предоставляет параметры, используемые для настройки обработки, выполняемой блоками потока данных. |
|
Предоставляет параметры, используемые для настройки связи между блоками потока данных. |
|
Предоставляет контейнер атрибутов данных для передачи между блоками потока данных. |
|
Представляет состояние DataflowMessageHeader при передаче между блоками потока данных. |
|
Предоставляет параметры, используемые для настройки обработки, выполняемой блоками потока данных, которые обрабатывают каждое сообщение с помощью вызова указанного пользователем делегата. Это блоки потока данных, такие как ActionBlock<TInput> и TransformBlock<TInput, TOutput>. |
|
Предоставляет параметры, используемые для настройки обработки, выполняемой блоками потока данных, которые группируют несколько сообщений. Это блоки потока данных, такие как JoinBlock<T1, T2> и BatchBlock<T>. |
|
Представляет блок потока данных. |
|
Представляет блок потока данных, который является и целевым объектом для данных, и источником данных. |
|
Представляет блок потока данных, который поддерживает получение сообщений без привязывания. |
|
Представляет блок потока данных, который является источником данных. |
|
Представляет блок потока данных, который является целевым объектом для данных. |
|
Предоставляет блок потока данных, объединяющий несколько источников потоков данных, необязательно одного типа, ожидая появления каждого типа, прежде чем они все совместно выпускаются как кортеж, состоящий из одного элемента каждого типа. |
|
Предоставляет блок потока данных, объединяющий несколько источников потоков данных, необязательно одного типа, ожидая появления каждого типа, прежде чем они все совместно выпускаются как кортеж, состоящий из одного элемента каждого типа. |
|
Предоставляет блокировку потока данных, которая вызывает предоставленный делегат Func<T, TResult> для каждого полученного элемента данных. |
|
Предоставляет блокировку потока данных, которая вызывает предоставленный делегат Func<T, TResult> для каждого полученного элемента данных. |
|
Предоставляет буфер для получения и хранения не более чем одного элемента в сети блоков потока данных. |