Parallel Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет поддержку параллельных циклов и областей.
public ref class Parallel abstract sealed
public static class Parallel
type Parallel = class
Public Class Parallel
- Наследование
-
Parallel
Примеры
В этом примере демонстрируется несколько подходов к реализации параллельного цикла с использованием нескольких языковых конструкций.
using System.Threading.Tasks;
class Test
{
static int N = 1000;
static void TestMethod()
{
// Using a named method.
Parallel.For(0, N, Method2);
// Using an anonymous method.
Parallel.For(0, N, delegate(int i)
{
// Do Work.
});
// Using a lambda expression.
Parallel.For(0, N, i =>
{
// Do Work.
});
}
static void Method2(int i)
{
// Do work.
}
}
Imports System.Threading.Tasks
Module Module1
Sub Main()
Dim N As Integer = 1000
' Using a named method
Parallel.For(0, N, AddressOf Method2)
' Using a lambda expression.
Parallel.For(0, N, Sub(i)
' Do Work
End Sub)
End Sub
Sub Method2(ByVal i As Integer)
' Do work.
End Sub
End Module
Комментарии
Класс Parallel предоставляет параллельные замены данных на основе библиотеки для распространенных операций, таких как циклы, для каждого цикла и выполнение набора инструкций.
Методы
For(Int32, Int32, Action<Int32,ParallelLoopState>) |
Выполняет цикл |
For(Int32, Int32, Action<Int32>) |
Выполняет цикл |
For(Int32, Int32, ParallelOptions, Action<Int32,ParallelLoopState>) |
Выполняет цикл |
For(Int32, Int32, ParallelOptions, Action<Int32>) |
Выполняет цикл |
For(Int64, Int64, Action<Int64,ParallelLoopState>) |
Выполняет цикл |
For(Int64, Int64, Action<Int64>) |
Выполняет цикл |
For(Int64, Int64, ParallelOptions, Action<Int64,ParallelLoopState>) |
Выполняет цикл |
For(Int64, Int64, ParallelOptions, Action<Int64>) |
Выполняет цикл |
For<TLocal>(Int32, Int32, Func<TLocal>, Func<Int32,ParallelLoopState,TLocal,TLocal>, Action<TLocal>) |
Выполняет цикл |
For<TLocal>(Int32, Int32, ParallelOptions, Func<TLocal>, Func<Int32,ParallelLoopState,TLocal,TLocal>, Action<TLocal>) |
Выполняет цикл |
For<TLocal>(Int64, Int64, Func<TLocal>, Func<Int64,ParallelLoopState,TLocal,TLocal>, Action<TLocal>) |
Выполняет цикл |
For<TLocal>(Int64, Int64, ParallelOptions, Func<TLocal>, Func<Int64,ParallelLoopState,TLocal,TLocal>, Action<TLocal>) |
Выполняет цикл |
ForAsync<T>(T, T, CancellationToken, Func<T,CancellationToken,ValueTask>) |
Выполняет цикл for, в котором итерации могут выполняться параллельно. |
ForAsync<T>(T, T, Func<T,CancellationToken,ValueTask>) |
Выполняет цикл for, в котором итерации могут выполняться параллельно. |
ForAsync<T>(T, T, ParallelOptions, Func<T,CancellationToken,ValueTask>) |
Выполняет цикл for, в котором итерации могут выполняться параллельно. |
ForEach<TSource,TLocal>(IEnumerable<TSource>, Func<TLocal>, Func<TSource,ParallelLoopState,Int64,TLocal,TLocal>, Action<TLocal>) |
Выполняет операцию |
ForEach<TSource,TLocal>(IEnumerable<TSource>, Func<TLocal>, Func<TSource,ParallelLoopState,TLocal,TLocal>, Action<TLocal>) |
Выполняет операцию |
ForEach<TSource,TLocal>(IEnumerable<TSource>, ParallelOptions, Func<TLocal>, Func<TSource,ParallelLoopState,Int64,TLocal,TLocal>, Action<TLocal>) |
Выполняет операцию |
ForEach<TSource,TLocal>(IEnumerable<TSource>, ParallelOptions, Func<TLocal>, Func<TSource,ParallelLoopState,TLocal,TLocal>, Action<TLocal>) |
Выполняет операцию |
ForEach<TSource,TLocal>(OrderablePartitioner<TSource>, Func<TLocal>, Func<TSource,ParallelLoopState,Int64,TLocal,TLocal>, Action<TLocal>) |
Выполняет операцию |
ForEach<TSource,TLocal>(OrderablePartitioner<TSource>, ParallelOptions, Func<TLocal>, Func<TSource,ParallelLoopState,Int64,TLocal,TLocal>, Action<TLocal>) |
|
ForEach<TSource,TLocal>(Partitioner<TSource>, Func<TLocal>, Func<TSource,ParallelLoopState,TLocal,TLocal>, Action<TLocal>) |
Выполняет операцию |
ForEach<TSource,TLocal>(Partitioner<TSource>, ParallelOptions, Func<TLocal>, Func<TSource,ParallelLoopState,TLocal,TLocal>, Action<TLocal>) |
Выполняет операцию |
ForEach<TSource>(IEnumerable<TSource>, Action<TSource,ParallelLoopState,Int64>) |
Выполняет операцию |
ForEach<TSource>(IEnumerable<TSource>, Action<TSource,ParallelLoopState>) |
Выполняет операцию |
ForEach<TSource>(IEnumerable<TSource>, Action<TSource>) |
Выполняет операцию |
ForEach<TSource>(IEnumerable<TSource>, ParallelOptions, Action<TSource,ParallelLoopState,Int64>) |
Выполняет операцию |
ForEach<TSource>(IEnumerable<TSource>, ParallelOptions, Action<TSource,ParallelLoopState>) |
Выполняет операцию |
ForEach<TSource>(IEnumerable<TSource>, ParallelOptions, Action<TSource>) |
Выполняет операцию |
ForEach<TSource>(OrderablePartitioner<TSource>, Action<TSource,ParallelLoopState,Int64>) |
Выполняет операцию |
ForEach<TSource>(OrderablePartitioner<TSource>, ParallelOptions, Action<TSource,ParallelLoopState,Int64>) |
Выполняет операцию |
ForEach<TSource>(Partitioner<TSource>, Action<TSource,ParallelLoopState>) |
Выполняет операцию |
ForEach<TSource>(Partitioner<TSource>, Action<TSource>) |
Выполняет операцию |
ForEach<TSource>(Partitioner<TSource>, ParallelOptions, Action<TSource,ParallelLoopState>) |
Выполняет операцию |
ForEach<TSource>(Partitioner<TSource>, ParallelOptions, Action<TSource>) |
Выполняет операцию |
ForEachAsync<TSource>(IAsyncEnumerable<TSource>, CancellationToken, Func<TSource,CancellationToken,ValueTask>) |
|
ForEachAsync<TSource>(IAsyncEnumerable<TSource>, Func<TSource,CancellationToken,ValueTask>) |
|
ForEachAsync<TSource>(IAsyncEnumerable<TSource>, ParallelOptions, Func<TSource,CancellationToken,ValueTask>) |
|
ForEachAsync<TSource>(IEnumerable<TSource>, CancellationToken, Func<TSource,CancellationToken,ValueTask>) |
|
ForEachAsync<TSource>(IEnumerable<TSource>, Func<TSource,CancellationToken,ValueTask>) |
|
ForEachAsync<TSource>(IEnumerable<TSource>, ParallelOptions, Func<TSource,CancellationToken,ValueTask>) |
|
Invoke(Action[]) |
Выполняет все предоставленные действия, по возможности в параллельном режиме. |
Invoke(ParallelOptions, Action[]) |
Выполняет каждое из указанных действий по возможности в параллельном режиме, если операция не отменена пользователем. |
Применяется к
Потокобезопасность
Все общедоступные и защищенные члены Parallel являются потокобезопасными и могут использоваться одновременно из нескольких потоков.