Parallel Třída

Definice

Poskytuje podporu paralelních smyček a oblastí.

public ref class Parallel abstract sealed
public static class Parallel
type Parallel = class
Public Class Parallel
Dědičnost
Parallel

Příklady

Tento příklad ukazuje několik přístupů k implementaci paralelní smyčky pomocí více jazykových konstruktorů.

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

Poznámky

Třída Parallel poskytuje paralelní nahrazení dat založených na knihovně pro běžné operace, jako jsou smyčky, pro každou smyčku a spuštění sady příkazů.

Metody

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

Spustí smyčku for , ve které se iterace můžou spouštět paralelně a stav smyčky lze monitorovat a manipulovat s nimi.

For(Int32, Int32, Action<Int32>)

Spustí smyčku for , ve které se iterace můžou spouštět paralelně.

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

Spustí smyčku for , ve které se mohou iterace spouštět paralelně, lze konfigurovat možnosti smyčky a stav smyčky lze monitorovat a manipulovat s nimi.

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

Spustí smyčku for , ve které se můžou iterace spouštět paralelně a možnosti smyčky je možné nakonfigurovat.

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

Spustí smyčku for s 64bitovými indexy, ve kterých se iterace můžou spouštět paralelně a stav smyčky je možné monitorovat a manipulovat s nimi.

For(Int64, Int64, Action<Int64>)

Spustí smyčku for s 64bitovými indexy, ve kterých se iterace můžou spouštět paralelně.

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

Spustí smyčku for s 64bitovými indexy, ve kterých se iterace můžou spouštět paralelně, lze konfigurovat možnosti smyčky a stav smyčky lze monitorovat a manipulovat s nimi.

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

Spustí smyčku for s 64bitovými indexy, ve kterých se mohou iterace spouštět paralelně a možnosti smyčky je možné nakonfigurovat.

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

Spustí smyčku for s místními daty vlákna, ve kterých se mohou iterace spouštět paralelně, a stav smyčky lze monitorovat a manipulovat s nimi.

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

Spustí smyčku for s místními daty vlákna, ve kterých se mohou iterace spouštět paralelně, lze konfigurovat možnosti smyčky a stav smyčky lze monitorovat a manipulovat s nimi.

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

Spustí smyčku for s 64bitovými indexy a místními daty vláken, ve kterých se mohou iterace spouštět paralelně a stav smyčky lze monitorovat a manipulovat s nimi.

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

Spustí smyčku for s 64bitovými indexy a místními daty vlákna, ve kterých se mohou iterace spouštět paralelně, lze konfigurovat možnosti smyčky a stav smyčky lze monitorovat a manipulovat s nimi.

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

Spustí smyčku for, ve které se iterace můžou spouštět paralelně.

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

Spustí smyčku for, ve které se iterace můžou spouštět paralelně.

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

Spustí smyčku for, ve které se iterace můžou spouštět paralelně.

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

Spustí operaci foreach (For Each v Visual Basic) s místními daty vlákna na IEnumerable, ve kterých se iterace můžou spouštět paralelně a stav smyčky lze monitorovat a manipulovat s nimi.

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

Spustí operaci foreach (For Each v Visual Basic) s místními daty vlákna na IEnumerable, ve kterých se iterace můžou spouštět paralelně, a stav smyčky lze monitorovat a manipulovat s nimi.

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

Spustí operaci foreach (For Each v Visual Basic) s místními daty vlákna a 64bitovými indexy na IEnumerable, ve kterých se mohou iterace spouštět paralelně, lze konfigurovat možnosti smyčky a stav smyčky lze monitorovat a manipulovat s nimi.

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

Spustí operaci foreach (For Each v Visual Basic) s místními daty vlákna na IEnumerable, ve kterých se mohou iterace spouštět paralelně, lze konfigurovat možnosti smyčky a stav smyčky lze monitorovat a manipulovat s nimi.

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

Spustí operaci foreach (For Each v Visual Basic) s místními daty vlákna na OrderablePartitioner<TSource>, ve kterých se mohou iterace spouštět paralelně, lze konfigurovat možnosti smyčky a stav smyčky lze monitorovat a manipulovat s nimi.

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

Spustí operaci foreach (For Each v Visual Basic) s 64bitovými indexy a s daty místního vlákna na OrderablePartitioner<TSource>, ve kterých se iterace můžou spouštět paralelně, možnosti smyčky lze konfigurovat a stav smyčky lze monitorovat a manipulovat s nimi.

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

Spustí operaci foreach (For Each v Visual Basic) s místními daty vlákna na Partitioner, ve kterých se iterace můžou spouštět paralelně a stav smyčky lze monitorovat a manipulovat s nimi.

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

Spustí operaci foreach (For Each v Visual Basic) s místními daty vlákna na Partitioner, ve kterých se mohou iterace spouštět paralelně, lze konfigurovat možnosti smyčky a stav smyčky lze monitorovat a manipulovat s nimi.

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

Spustí operaci foreach (For Each v Visual Basic) s 64bitovými indexy na IEnumerable, ve kterém se iterace můžou spouštět paralelně, a stav smyčky lze monitorovat a manipulovat s ním.

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

Spustí operaci foreach (For Each v Visual Basic) na IEnumerable, ve které se iterace můžou spouštět paralelně, a stav smyčky lze monitorovat a manipulovat s nimi.

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

Spustí operaci foreach (For Each v Visual Basic) v IEnumerable, ve které se mohou iterace spouštět paralelně.

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

Spustí operaci foreach (For Each v Visual Basic) s 64bitovými indexy na IEnumerable, ve kterých se mohou iterace spouštět paralelně, lze konfigurovat možnosti smyčky a stav smyčky lze monitorovat a manipulovat s ním.

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

Spustí operaci foreach (For Each v Visual Basic) na IEnumerable, ve které se mohou iterace spouštět paralelně, lze konfigurovat možnosti smyčky a stav smyčky lze monitorovat a manipulovat s nimi.

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

Spustí operaci foreach (For Each v Visual Basic) v IEnumerable, ve které se můžou iterace spouštět paralelně a možnosti smyčky.

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

Spustí operaci foreach (For Each v Visual Basic) na OrderablePartitioner<TSource>, ve které se iterace můžou spouštět paralelně a stav smyčky lze monitorovat a manipulovat s nimi.

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

Spustí operaci foreach (For Each v Visual Basic) na OrderablePartitioner<TSource>, ve které se mohou iterace spouštět paralelně, lze konfigurovat možnosti smyčky a stav smyčky lze monitorovat a manipulovat s nimi.

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

Spustí operaci foreach (For Each v Visual Basic) v Partitioner, ve které se mohou iterace spouštět paralelně a stav smyčky lze monitorovat a manipulovat s nimi.

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

Spustí operaci foreach (For Each v Visual Basic) na Partitioner, ve které se mohou iterace spouštět paralelně.

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

Spustí operaci foreach (For Each v Visual Basic) na Partitioner, ve které se mohou iterace spouštět paralelně, lze konfigurovat možnosti smyčky a stav smyčky lze monitorovat a manipulovat s nimi.

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

Spustí operaci foreach (For Each v Visual Basic) v Partitioner, ve které se můžou iterace spouštět paralelně a možnosti smyčky lze konfigurovat.

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

for-each Provede operaci, IEnumerable<T> ve které se iterace můžou spouštět paralelně.

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

for-each Provede operaci, IEnumerable<T> ve které se iterace můžou spouštět paralelně.

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

for-each Provede operaci, IEnumerable<T> ve které se iterace můžou spouštět paralelně.

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

for-each Provede operaci, IEnumerable<T> ve které se iterace můžou spouštět paralelně.

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

for-each Provede operaci, IEnumerable<T> ve které se iterace můžou spouštět paralelně.

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

for-each Provede operaci, IEnumerable<T> ve které se iterace můžou spouštět paralelně.

Invoke(Action[])

Provede každou z poskytnutých akcí, případně paralelně.

Invoke(ParallelOptions, Action[])

Provede všechny poskytnuté akce, případně paralelně, pokud uživatel operaci nezruší.

Platí pro

Bezpečný přístup z více vláken

Všechny veřejné a chráněné členy Parallel jsou bezpečné pro přístup z více vláken a mohou být použity souběžně z více vláken.

Viz také