Parallel Clase

Definición

Proporciona compatibilidad con bucles y regiones paralelos.

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

Ejemplos

En este ejemplo se muestran varios enfoques para implementar un bucle paralelo mediante varias construcciones de lenguaje.

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

Comentarios

La Parallel clase proporciona reemplazos paralelos de datos basados en biblioteca para operaciones comunes, como bucles for, para cada bucle y ejecución de un conjunto de instrucciones.

Métodos

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

Ejecuta un for bucle en el que se pueden ejecutar iteraciones en paralelo y el estado del bucle se puede supervisar y manipular.

For(Int32, Int32, Action<Int32>)

Ejecuta un for bucle en el que se pueden ejecutar iteraciones en paralelo.

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

Ejecuta un for bucle en el que se pueden ejecutar iteraciones en paralelo, se pueden configurar las opciones de bucle y el estado del bucle se puede supervisar y manipular.

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

Ejecuta un for bucle en el que se pueden ejecutar iteraciones en paralelo y se pueden configurar las opciones de bucle.

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

Ejecuta un for bucle con índices de 64 bits en los que se pueden ejecutar iteraciones en paralelo y el estado del bucle se puede supervisar y manipular.

For(Int64, Int64, Action<Int64>)

Ejecuta un for bucle con índices de 64 bits en los que se pueden ejecutar iteraciones en paralelo.

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

Ejecuta un for bucle con índices de 64 bits en los que se pueden ejecutar iteraciones en paralelo, se pueden configurar opciones de bucle y el estado del bucle se puede supervisar y manipular.

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

Ejecuta un for bucle con índices de 64 bits en los que se pueden ejecutar iteraciones en paralelo y se pueden configurar opciones de bucle.

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

Ejecuta un for bucle con datos locales de subproceso en los que se pueden ejecutar iteraciones en paralelo y el estado del bucle se puede supervisar y manipular.

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

Ejecuta un for bucle con datos locales de subprocesos en los que se pueden ejecutar iteraciones en paralelo, se pueden configurar opciones de bucle y el estado del bucle se puede supervisar y manipular.

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

Ejecuta un for bucle con índices de 64 bits y datos locales de subprocesos en los que se pueden ejecutar iteraciones en paralelo y el estado del bucle se puede supervisar y manipular.

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

Ejecuta un for bucle con índices de 64 bits y datos locales de subprocesos en los que se pueden ejecutar iteraciones en paralelo, se pueden configurar las opciones de bucle y el estado del bucle se puede supervisar y manipular.

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

Ejecuta una operación foreach (For Each en Visual Basic) con datos locales de subprocesos en un IEnumerable en el que las iteraciones se pueden ejecutar en paralelo y el estado del bucle se puede supervisar y manipular.

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

Ejecuta una operación foreach (For Each en Visual Basic) con datos locales de subprocesos en un IEnumerable en el que las iteraciones se pueden ejecutar en paralelo y el estado del bucle se puede supervisar y manipular.

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

Ejecuta una operación de foreach (For Each en Visual Basic) con datos locales de subproceso e índices de 64 bits en una IEnumerable en la que se pueden ejecutar iteraciones en paralelo, se pueden configurar opciones de bucle y el estado del bucle se puede supervisar y manipular.

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

Ejecuta una operación de foreach (For Each en Visual Basic) con datos locales de subprocesos en una IEnumerable en la que se pueden ejecutar iteraciones en paralelo, se pueden configurar opciones de bucle y el estado del bucle se puede supervisar y manipular.

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

Ejecuta una operación foreach (For Each en Visual Basic) con datos locales de subprocesos en un OrderablePartitioner<TSource> en el que se pueden ejecutar iteraciones en paralelo, se pueden configurar opciones de bucle y el estado del bucle se puede supervisar y manipular.

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

Ejecuta una operación de foreach (For Each en Visual Basic) con índices de 64 bits y con datos locales de subprocesos en un OrderablePartitioner<TSource> en el que se pueden ejecutar iteraciones en paralelo, las opciones de bucle se pueden configurar y el estado del bucle se puede supervisar y manipular.

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

Ejecuta una operación foreach (For Each en Visual Basic) con datos locales de subprocesos en un Partitioner en el que las iteraciones se pueden ejecutar en paralelo y el estado del bucle se puede supervisar y manipular.

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

Ejecuta una operación foreach (For Each en Visual Basic) con datos locales de subprocesos en un Partitioner en el que se pueden ejecutar iteraciones en paralelo, se pueden configurar opciones de bucle y el estado del bucle se puede supervisar y manipular.

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

Ejecuta una operación de foreach (For Each en Visual Basic) con índices de 64 bits en un IEnumerable en el que se pueden ejecutar iteraciones en paralelo y el estado del bucle se puede supervisar y manipular.

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

Ejecuta una operación foreach (For Each en Visual Basic) en una operación IEnumerable en la que las iteraciones se pueden ejecutar en paralelo y el estado del bucle se puede supervisar y manipular.

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

Ejecuta una operación foreach (For Each en Visual Basic) en una operación de IEnumerable en la que las iteraciones se pueden ejecutar en paralelo.

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

Ejecuta una operación de foreach (For Each en Visual Basic) con índices de 64 bits en una IEnumerable en la que se pueden ejecutar iteraciones en paralelo, se pueden configurar opciones de bucle y el estado del bucle se puede supervisar y manipular.

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

Ejecuta una operación foreach (For Each en Visual Basic) en una operación IEnumerable en la que se pueden ejecutar iteraciones en paralelo, se pueden configurar las opciones de bucle y el estado del bucle se puede supervisar y manipular.

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

Ejecuta una operación foreach (For Each en Visual Basic) en una operación de IEnumerable en la que se pueden ejecutar iteraciones en paralelo y se pueden configurar opciones de bucle.

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

Ejecuta una operación foreach (For Each en Visual Basic) en una operación OrderablePartitioner<TSource> en la que las iteraciones se pueden ejecutar en paralelo y el estado del bucle se puede supervisar y manipular.

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

Ejecuta una operación foreach (For Each en Visual Basic) en una operación OrderablePartitioner<TSource> en la que se pueden ejecutar iteraciones en paralelo, se pueden configurar las opciones de bucle y el estado del bucle se puede supervisar y manipular.

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

Ejecuta una operación foreach (For Each en Visual Basic) en una operación Partitioner en la que las iteraciones se pueden ejecutar en paralelo y el estado del bucle se puede supervisar y manipular.

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

Ejecuta una operación foreach (For Each en Visual Basic) en una operación de Partitioner en la que se pueden ejecutar iteraciones en paralelo.

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

Ejecuta una operación foreach (For Each en Visual Basic) en una operación Partitioner en la que se pueden ejecutar iteraciones en paralelo, se pueden configurar las opciones de bucle y el estado del bucle se puede supervisar y manipular.

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

Ejecuta una operación de foreach (For Each en Visual Basic) en una Partitioner en la que se pueden configurar iteraciones en paralelo y se pueden configurar opciones de bucle.

Invoke(Action[])

Ejecuta cada una de las acciones proporcionadas, posiblemente en paralelo.

Invoke(ParallelOptions, Action[])

Ejecuta cada una de las acciones proporcionadas, posiblemente en paralelo, a menos que el usuario cancele la operación.

Se aplica a

Seguridad para subprocesos

Todos los miembros públicos y protegidos de Parallel son seguros para subprocesos y se pueden usar simultáneamente desde varios subprocesos.

Consulte también