Udostępnij za pośrednictwem


Parallel Klasa

Definicja

Zapewnia obsługę pętli równoległych i regionów.

public ref class Parallel abstract sealed
public static class Parallel
type Parallel = class
Public Class Parallel
Dziedziczenie
Parallel

Przykłady

W tym przykładzie pokazano kilka metod implementowania pętli równoległej przy użyciu wielu konstrukcji językowych.

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

Uwagi

Klasa Parallel udostępnia oparte na bibliotece równoległe zamiany danych dla typowych operacji, takich jak pętle, dla każdej pętli i wykonywanie zestawu instrukcji.

Metody

For(Int32, Int32, Action<Int32,ParallelLoopState>)

Wykonuje pętlę for , w której iteracji mogą być uruchamiane równolegle, a stan pętli może być monitorowany i manipulowany.

For(Int32, Int32, Action<Int32>)

Wykonuje pętlę for , w której iteracji mogą być uruchamiane równolegle.

For(Int32, Int32, ParallelOptions, Action<Int32,ParallelLoopState>)

Wykonuje pętlę for , w której iteracji mogą być uruchamiane równolegle, można skonfigurować opcje pętli, a stan pętli można monitorować i manipulować.

For(Int32, Int32, ParallelOptions, Action<Int32>)

Wykonuje pętlę for , w której można uruchomić iteracji równolegle, a opcje pętli można skonfigurować.

For(Int64, Int64, Action<Int64,ParallelLoopState>)

Wykonuje pętlę for z indeksami 64-bitowymi, w których iteracji mogą działać równolegle, a stan pętli można monitorować i manipulować nimi.

For(Int64, Int64, Action<Int64>)

Wykonuje pętlę for z 64-bitowymi indeksami, w których iteracji mogą działać równolegle.

For(Int64, Int64, ParallelOptions, Action<Int64,ParallelLoopState>)

Wykonuje pętlę for z 64-bitowymi indeksami, w których iteracji mogą działać równolegle, można skonfigurować opcje pętli, a stan pętli można monitorować i manipulować.

For(Int64, Int64, ParallelOptions, Action<Int64>)

Wykonuje pętlę for z 64-bitowymi indeksami, w których iteracji mogą być uruchamiane równolegle i można skonfigurować opcje pętli.

For<TLocal>(Int32, Int32, Func<TLocal>, Func<Int32,ParallelLoopState,TLocal,TLocal>, Action<TLocal>)

Wykonuje pętlę for z danymi lokalnymi wątkowymi, w których iteracji mogą działać równolegle, a stan pętli można monitorować i manipulować nimi.

For<TLocal>(Int32, Int32, ParallelOptions, Func<TLocal>, Func<Int32,ParallelLoopState,TLocal,TLocal>, Action<TLocal>)

Wykonuje pętlę for z danymi lokalnymi wątkowymi, w których iteracji mogą działać równolegle, można skonfigurować opcje pętli, a stan pętli można monitorować i manipulować nimi.

For<TLocal>(Int64, Int64, Func<TLocal>, Func<Int64,ParallelLoopState,TLocal,TLocal>, Action<TLocal>)

Wykonuje pętlę for z 64-bitowymi indeksami i danymi lokalnymi wątkowymi, w których iteracji mogą działać równolegle, a stan pętli można monitorować i manipulować nimi.

For<TLocal>(Int64, Int64, ParallelOptions, Func<TLocal>, Func<Int64,ParallelLoopState,TLocal,TLocal>, Action<TLocal>)

Wykonuje pętlę for z 64-bitowymi indeksami i danymi lokalnymi wątkowymi, w których iteracji mogą działać równolegle, opcje pętli można skonfigurować, a stan pętli można monitorować i manipulować nimi.

ForAsync<T>(T, T, CancellationToken, Func<T,CancellationToken,ValueTask>)

Wykonuje pętlę for, w której iteracji mogą być uruchamiane równolegle.

ForAsync<T>(T, T, Func<T,CancellationToken,ValueTask>)

Wykonuje pętlę for, w której iteracji mogą być uruchamiane równolegle.

ForAsync<T>(T, T, ParallelOptions, Func<T,CancellationToken,ValueTask>)

Wykonuje pętlę for, w której iteracji mogą być uruchamiane równolegle.

ForEach<TSource,TLocal>(IEnumerable<TSource>, Func<TLocal>, Func<TSource,ParallelLoopState,Int64,TLocal,TLocal>, Action<TLocal>)

Wykonuje operację foreach (For Each w języku Visual Basic) z danymi lokalnymi wątku na IEnumerable serwerze, w którym iteracji mogą działać równolegle, a stan pętli można monitorować i manipulować nimi.

ForEach<TSource,TLocal>(IEnumerable<TSource>, Func<TLocal>, Func<TSource,ParallelLoopState,TLocal,TLocal>, Action<TLocal>)

Wykonuje operację foreach (For Each w języku Visual Basic) z danymi lokalnymi wątku na IEnumerable iteracji, w których iteracji mogą działać równolegle, a stan pętli można monitorować i manipulować nimi.

ForEach<TSource,TLocal>(IEnumerable<TSource>, ParallelOptions, Func<TLocal>, Func<TSource,ParallelLoopState,Int64,TLocal,TLocal>, Action<TLocal>)

Wykonuje operację foreach (For Each w języku Visual Basic) z danymi lokalnymi wątkowymi i indeksami 64-bitowymi na IEnumerable serwerze, w którym iteracji mogą działać równolegle, można skonfigurować opcje pętli, a stan pętli można monitorować i manipulować nimi.

ForEach<TSource,TLocal>(IEnumerable<TSource>, ParallelOptions, Func<TLocal>, Func<TSource,ParallelLoopState,TLocal,TLocal>, Action<TLocal>)

Wykonuje operację foreach (For Each w języku Visual Basic) z danymi lokalnymi wątku na IEnumerable serwerze, w którym iteracji mogą być uruchamiane równolegle, opcje pętli można skonfigurować, a stan pętli można monitorować i manipulować nimi.

ForEach<TSource,TLocal>(OrderablePartitioner<TSource>, Func<TLocal>, Func<TSource,ParallelLoopState,Int64,TLocal,TLocal>, Action<TLocal>)

Wykonuje operację foreach (For Each w języku Visual Basic) z danymi lokalnymi wątku na OrderablePartitioner<TSource> danych, w których iteracji mogą działać równolegle, opcje pętli można skonfigurować, a stan pętli można monitorować i manipulować.

ForEach<TSource,TLocal>(OrderablePartitioner<TSource>, ParallelOptions, Func<TLocal>, Func<TSource,ParallelLoopState,Int64,TLocal,TLocal>, Action<TLocal>)

Wykonuje operację foreach (For Each w języku Visual Basic) z indeksami 64-bitowymi i z danymi lokalnymi wątku na OrderablePartitioner<TSource> serwerze, w którym iteracji mogą działać równolegle, można skonfigurować opcje pętli, a stan pętli można monitorować i manipulować nimi.

ForEach<TSource,TLocal>(Partitioner<TSource>, Func<TLocal>, Func<TSource,ParallelLoopState,TLocal,TLocal>, Action<TLocal>)

Wykonuje operację foreach (For Each w języku Visual Basic) z danymi lokalnymi wątku na Partitioner serwerze, w którym iteracji mogą działać równolegle, a stan pętli można monitorować i manipulować nimi.

ForEach<TSource,TLocal>(Partitioner<TSource>, ParallelOptions, Func<TLocal>, Func<TSource,ParallelLoopState,TLocal,TLocal>, Action<TLocal>)

Wykonuje operację foreach (For Each w języku Visual Basic) z danymi lokalnymi wątku na Partitioner danych, w których iteracji mogą działać równolegle, opcje pętli można skonfigurować, a stan pętli można monitorować i manipulować.

ForEach<TSource>(IEnumerable<TSource>, Action<TSource,ParallelLoopState,Int64>)

Wykonuje operację foreach (For Each w języku Visual Basic) z indeksami 64-bitowymi, w IEnumerable których iteracji mogą działać równolegle, a stan pętli można monitorować i manipulować nimi.

ForEach<TSource>(IEnumerable<TSource>, Action<TSource,ParallelLoopState>)

Wykonuje operację foreach (For Each w języku Visual Basic) na IEnumerable iteracji, w której mogą działać równolegle, a stan pętli można monitorować i manipulować nimi.

ForEach<TSource>(IEnumerable<TSource>, Action<TSource>)

Wykonuje operację foreach (For Each w języku Visual Basic) na IEnumerable iteracji, w której iteracji mogą być uruchamiane równolegle.

ForEach<TSource>(IEnumerable<TSource>, ParallelOptions, Action<TSource,ParallelLoopState,Int64>)

Wykonuje operację foreach (For Each w języku Visual Basic) z indeksami 64-bitowymi na IEnumerable iteracji, w której iteracji mogą działać równolegle, opcje pętli można skonfigurować, a stan pętli można monitorować i manipulować nimi.

ForEach<TSource>(IEnumerable<TSource>, ParallelOptions, Action<TSource,ParallelLoopState>)

Wykonuje operację foreach (For Each w języku Visual Basic) na IEnumerable iteracji, w której iteracji mogą być uruchamiane równolegle, opcje pętli można skonfigurować, a stan pętli można monitorować i manipulować.

ForEach<TSource>(IEnumerable<TSource>, ParallelOptions, Action<TSource>)

Wykonuje operację foreach (For Each w języku Visual Basic) na IEnumerable iteracji, w której można uruchomić równolegle, a opcje pętli można skonfigurować.

ForEach<TSource>(OrderablePartitioner<TSource>, Action<TSource,ParallelLoopState,Int64>)

Wykonuje operację foreach (For Each w języku Visual Basic) na OrderablePartitioner<TSource> iteracji, w której może działać równolegle, a stan pętli można monitorować i manipulować nimi.

ForEach<TSource>(OrderablePartitioner<TSource>, ParallelOptions, Action<TSource,ParallelLoopState,Int64>)

Wykonuje operację foreach (For Each w języku Visual Basic) na OrderablePartitioner<TSource> iteracji, w której iteracji mogą być uruchamiane równolegle, opcje pętli można skonfigurować, a stan pętli można monitorować i manipulować.

ForEach<TSource>(Partitioner<TSource>, Action<TSource,ParallelLoopState>)

Wykonuje operację foreach (For Each w języku Visual Basic) na Partitioner iteracji, w której może działać równolegle, a stan pętli można monitorować i manipulować nimi.

ForEach<TSource>(Partitioner<TSource>, Action<TSource>)

Wykonuje operację foreach (For Each w języku Visual Basic) na Partitioner iteracji, w której iteracji mogą być uruchamiane równolegle.

ForEach<TSource>(Partitioner<TSource>, ParallelOptions, Action<TSource,ParallelLoopState>)

Wykonuje operację foreach (For Each w języku Visual Basic) na Partitioner iteracji, w której iteracji mogą być uruchamiane równolegle, opcje pętli można skonfigurować, a stan pętli można monitorować i manipulować.

ForEach<TSource>(Partitioner<TSource>, ParallelOptions, Action<TSource>)

Wykonuje operację foreach (For Each w języku Visual Basic) na Partitioner iteracji, w której można uruchomić równolegle, a opcje pętli można skonfigurować.

ForEachAsync<TSource>(IAsyncEnumerable<TSource>, CancellationToken, Func<TSource,CancellationToken,ValueTask>)

Wykonuje operację for-each , IEnumerable<T> w której iteracji mogą być uruchamiane równolegle.

ForEachAsync<TSource>(IAsyncEnumerable<TSource>, Func<TSource,CancellationToken,ValueTask>)

Wykonuje operację for-each , IEnumerable<T> w której iteracji mogą być uruchamiane równolegle.

ForEachAsync<TSource>(IAsyncEnumerable<TSource>, ParallelOptions, Func<TSource,CancellationToken,ValueTask>)

Wykonuje operację for-each , IEnumerable<T> w której iteracji mogą być uruchamiane równolegle.

ForEachAsync<TSource>(IEnumerable<TSource>, CancellationToken, Func<TSource,CancellationToken,ValueTask>)

Wykonuje operację for-each , IEnumerable<T> w której iteracji mogą być uruchamiane równolegle.

ForEachAsync<TSource>(IEnumerable<TSource>, Func<TSource,CancellationToken,ValueTask>)

Wykonuje operację for-each , IEnumerable<T> w której iteracji mogą być uruchamiane równolegle.

ForEachAsync<TSource>(IEnumerable<TSource>, ParallelOptions, Func<TSource,CancellationToken,ValueTask>)

Wykonuje operację for-each , IEnumerable<T> w której iteracji mogą być uruchamiane równolegle.

Invoke(Action[])

Wykonuje każdą z podanych akcji, prawdopodobnie równolegle.

Invoke(ParallelOptions, Action[])

Wykonuje każdą z podanych akcji, prawdopodobnie równolegle, chyba że operacja zostanie anulowana przez użytkownika.

Dotyczy

Bezpieczeństwo wątkowe

Wszystkie publiczne i chronione elementy członkowskie są Parallel bezpieczne wątkowo i mogą być używane współbieżnie z wielu wątków.

Zobacz też