Parallel Classe

Definição

Fornece suporte para laços e regiões paralelas.

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 construtos de múltiplas línguas.

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

Observações

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

Métodos

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

Executa um for ciclo em que as iterações podem correr em paralelo e o estado do ciclo pode ser monitorizado e manipulado.

For(Int32, Int32, Action<Int32>)

Executa um for ciclo em que as iterações podem correr em paralelo.

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

Executa um for ciclo em que as iterações podem correr em paralelo, as opções do ciclo podem ser configuradas e o estado do ciclo pode ser monitorizado e manipulado.

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

Executa um for ciclo em que as iterações podem correr em paralelo e as opções de loop podem ser configuradas.

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

Executa um for ciclo com índices de 64 bits no qual as iterações podem correr em paralelo e o estado do ciclo pode ser monitorizado e manipulado.

For(Int64, Int64, Action<Int64>)

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

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

Executa um for loop com índices de 64 bits no qual as iterações podem correr em paralelo, opções de loop podem ser configuradas e o estado do loop pode ser monitorizado e manipulado.

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

Executa um for ciclo com índices de 64 bits no qual as iterações podem correr em paralelo e as opções de ciclo podem ser configuradas.

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

Executa um for ciclo com dados locais de thread no qual as iterações podem correr em paralelo, e o estado do ciclo pode ser monitorizado e manipulado.

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

Executa um for ciclo com dados locais na thread em que as iterações podem correr em paralelo, opções de loop podem ser configuradas e o estado do loop pode ser monitorizado e manipulado.

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

Executa um for ciclo com índices de 64 bits e dados locais de thread no qual as iterações podem correr em paralelo, e o estado do ciclo pode ser monitorizado 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 thread-local onde as iterações podem correr em paralelo, opções de loop podem ser configuradas e o estado do loop pode ser monitorizado 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 num IEnumerable em que as iterações podem correr em paralelo e o estado do ciclo pode ser monitorizado e manipulado.

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

Executa uma operação foreach (For Each em Visual Basic) com dados locais de thread num IEnumerable em que as iterações podem correr em paralelo, e o estado do ciclo pode ser monitorizado 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 em Visual Basic) com dados locais de thread e índices de 64 bits num IEnumerable em que as iterações podem correr em paralelo, opções de loop podem ser configuradas e o estado do loop pode ser monitorizado 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 num IEnumerable em que as iterações podem correr em paralelo, opções de loop podem ser configuradas e o estado do loop pode ser monitorizado e manipulado.

ForEach<TSource,TLocal>(OrderablePartitioner<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 num OrderablePartitioner<TSource> em que as iterações podem correr em paralelo, opções de loop podem ser configuradas e o estado do loop pode ser monitorizado 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 em Visual Basic) com índices de 64 bits e com dados thread-local num OrderablePartitioner<TSource> onde as iterações podem correr em paralelo, opções de loop podem ser configuradas e o estado do loop pode ser monitorizado e manipulado.

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

Executa uma operação foreach (For Each em Visual Basic) com dados locais de thread num Partitioner em que as iterações podem correr em paralelo e o estado do ciclo pode ser monitorizado e manipulado.

ForEach<TSource,TLocal>(Partitioner<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 num Partitioner em que as iterações podem correr em paralelo, opções de loop podem ser configuradas e o estado do loop pode ser monitorizado 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 num IEnumerable em que as iterações podem correr em paralelo e o estado do ciclo pode ser monitorizado e manipulado.

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

Executa uma operação foreach (For Each em Visual Basic) num IEnumerable em que as iterações podem correr em paralelo, e o estado do ciclo pode ser monitorizado e manipulado.

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

Executa uma operação foreach (For Each em Visual Basic) num IEnumerable em que as iterações podem correr em paralelo.

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

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

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

Executa uma operação foreach (For Each em Visual Basic) num IEnumerable em que as iterações podem correr em paralelo, opções de loop podem ser configuradas e o estado do loop pode ser monitorizado e manipulado.

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

Executa uma operação foreach (For Each em Visual Basic) num IEnumerable em que as iterações podem correr 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) num OrderablePartitioner<TSource> em que as iterações podem correr em paralelo e o estado do ciclo pode ser monitorizado e manipulado.

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

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

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

Executa uma operação foreach (For Each em Visual Basic) num Partitioner em que as iterações podem correr em paralelo, e o estado do ciclo pode ser monitorizado e manipulado.

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

Executa uma operação foreach (For Each em Visual Basic) num Partitioner em que as iterações podem correr em paralelo.

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

Executa uma operação foreach (For Each em Visual Basic) num Partitioner em que as iterações podem correr em paralelo, opções de loop podem ser configuradas e o estado do loop pode ser monitorizado e manipulado.

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

Executa uma operação foreach (For Each em Visual Basic) num Partitioner em que as iterações podem correr 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 utilizador.

Aplica-se a

Segurança de Thread

Todos os membros públicos e protegidos são Parallel seguros para threads e podem ser usados simultaneamente a partir de múltiplos threads.

Ver também