Parallel Classe

Definição

Fornece suporte para loops paralelos e regiões.

public ref class Parallel abstract sealed
public static class Parallel
type Parallel = class
Public Class Parallel
Herança
Parallel

Exemplos

Este exemplo demonstra várias abordagens para implementar um loop paralelo usando vários constructos de linguagem.

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

Comentários

A Parallel classe fornece substituições paralelas de dados baseadas em biblioteca para operações comuns, como loops, para cada loop e execução de um conjunto de instruções.

Métodos

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

Executa um for loop no qual as iterações podem ser executadas em paralelo e o estado do loop pode ser monitorado e manipulado.

For(Int32, Int32, Action<Int32>)

Executa um for loop no qual as iterações podem ser executadas em paralelo.

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

Executa um for loop no qual as iterações podem ser executadas em paralelo, as opções de loop podem ser configuradas e o estado do loop pode ser monitorado e manipulado.

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

Executa um for loop no qual as iterações podem ser executadas em paralelo e as opções de loop podem ser configuradas.

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

Executa um for loop com índices de 64 bits nos quais as iterações podem ser executadas em paralelo e o estado do loop pode ser monitorado e manipulado.

For(Int64, Int64, Action<Int64>)

Executa um for loop com índices de 64 bits nos quais as iterações podem ser executadas em paralelo.

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

Executa um for loop com índices de 64 bits nos quais as iterações podem ser executadas em paralelo, as opções de loop podem ser configuradas e o estado do loop pode ser monitorado e manipulado.

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

Executa um for loop com índices de 64 bits nos quais as iterações podem ser executadas em paralelo e as opções de loop podem ser configuradas.

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

Executa um for loop com dados locais de thread nos quais as iterações podem ser executadas em paralelo e o estado do loop pode ser monitorado e manipulado.

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

Executa um for loop com dados locais de thread nos quais as iterações podem ser executadas em paralelo, as opções de loop podem ser configuradas e o estado do loop pode ser monitorado e manipulado.

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

Executa um for loop com índices de 64 bits e dados locais de thread em que as iterações podem ser executadas em paralelo e o estado do loop pode ser monitorado e manipulado.

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

Executa um for loop com índices de 64 bits e dados locais de thread nos quais as iterações podem ser executadas em paralelo, as opções de loop podem ser configuradas e o estado do loop pode ser monitorado e manipulado.

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

Executa uma operação foreach (For Each em Visual Basic) com dados locais de thread em um IEnumerable em que as iterações podem ser executadas em paralelo e o estado do loop pode ser monitorado e manipulado.

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

Executa uma operação foreach (For Each no Visual Basic) com dados locais de thread em um IEnumerable no qual as iterações podem ser executadas em paralelo e o estado do loop pode ser monitorado e manipulado.

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

Executa uma operação foreach (For Each no Visual Basic) com dados locais de thread e índices de 64 bits em um IEnumerable em que as iterações podem ser executadas em paralelo, as opções de loop podem ser configuradas e o estado do loop pode ser monitorado e manipulado.

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

Executa uma operação foreach (For Each em Visual Basic) com dados locais de thread em um IEnumerable no qual as iterações podem ser executadas em paralelo, as opções de loop podem ser configuradas e o estado do loop pode ser monitorado e manipulado.

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

Executa uma operação foreach (For Each no Visual Basic) com dados locais de thread em um OrderablePartitioner<TSource> no qual as iterações podem ser executadas em paralelo, as opções de loop podem ser configuradas e o estado do loop pode ser monitorado e manipulado.

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

Executa uma operação foreach (For Each no Visual Basic) com índices de 64 bits e com dados locais de thread em um OrderablePartitioner<TSource> em que as iterações podem ser executadas em paralelo, as opções de loop podem ser configuradas e o estado do loop pode ser monitorado e manipulado.

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

Executa uma operação foreach (For Each no Visual Basic) com dados locais de thread em um Partitioner em que as iterações podem ser executadas em paralelo e o estado do loop pode ser monitorado e manipulado.

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

Executa uma operação foreach (For Each no Visual Basic) com dados locais de thread em um Partitioner no qual as iterações podem ser executadas em paralelo, as opções de loop podem ser configuradas e o estado do loop pode ser monitorado e manipulado.

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

Executa uma operação foreach (For Each em Visual Basic) com índices de 64 bits em um IEnumerable em que as iterações podem ser executadas em paralelo e o estado do loop pode ser monitorado e manipulado.

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

Executa uma operação foreach (For Each no Visual Basic) em um IEnumerable em que as iterações podem ser executadas em paralelo e o estado do loop pode ser monitorado e manipulado.

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

Executa uma operação ( no Visual Basic) em um > /

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

Executa uma operação foreach (For Each em Visual Basic) com índices de 64 bits em um IEnumerable no qual as iterações podem ser executadas em paralelo, as opções de loop podem ser configuradas e o estado do loop pode ser monitorado e manipulado.

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

Executa uma operação foreach (For Each no Visual Basic) em um IEnumerable no qual as iterações podem ser executadas em paralelo, as opções de loop podem ser configuradas e o estado do loop pode ser monitorado e manipulado.

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

Executa uma operação foreach (For Each no Visual Basic) em um IEnumerable em que as iterações podem ser executadas em paralelo e as opções de loop podem ser configuradas.

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

Executa uma operação foreach (For Each em Visual Basic) em um OrderablePartitioner<TSource> em que as iterações podem ser executadas em paralelo e o estado do loop pode ser monitorado e manipulado.

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

Executa uma operação foreach (For Each no Visual Basic) em um OrderablePartitioner<TSource> no qual as iterações podem ser executadas em paralelo, as opções de loop podem ser configuradas e o estado do loop pode ser monitorado e manipulado.

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

Executa uma operação foreach (For Each em Visual Basic) em um Partitioner no qual as iterações podem ser executadas em paralelo e o estado do loop pode ser monitorado e manipulado.

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

Executa uma operação foreach (For Each em Visual Basic) em um Partitioner no qual as iterações podem ser executadas em paralelo.

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

Executa uma operação foreach (For Each no Visual Basic) em um Partitioner no qual as iterações podem ser executadas em paralelo, as opções de loop podem ser configuradas e o estado do loop pode ser monitorado e manipulado.

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

Executa uma operação foreach (For Each no Visual Basic) em um Partitioner em que as iterações podem ser executadas em paralelo e as opções de loop podem ser configuradas.

Invoke(Action[])

Executa cada uma das ações fornecidas, possivelmente em paralelo.

Invoke(ParallelOptions, Action[])

Executa cada uma das ações fornecidas, possivelmente em paralelo, a menos que a operação seja cancelada pelo usuário.

Aplica-se a

Acesso thread-safe

Todos os membros públicos e protegidos Parallel são thread-safe e podem ser usados simultaneamente de vários threads.

Confira também