Parallel Classe

Définition

Fournit la prise en charge des boucles et régions parallèles.

public ref class Parallel abstract sealed
public static class Parallel
type Parallel = class
Public Class Parallel
Héritage
Parallel

Exemples

Cet exemple illustre plusieurs approches de l’implémentation d’une boucle parallèle à l’aide de plusieurs constructions de langage.

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

Remarques

La Parallel classe fournit des remplacements parallèles de données basées sur la bibliothèque pour les opérations courantes telles que les boucles, pour chaque boucle et l’exécution d’un ensemble d’instructions.

Méthodes

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

Exécute une for boucle dans laquelle les itérations peuvent s’exécuter en parallèle et l’état de la boucle peut être surveillé et manipulé.

For(Int32, Int32, Action<Int32>)

Exécute une for boucle dans laquelle les itérations peuvent s’exécuter en parallèle.

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

Exécute une for boucle dans laquelle les itérations peuvent s’exécuter en parallèle, les options de boucle peuvent être configurées et l’état de la boucle peut être surveillé et manipulé.

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

Exécute une for boucle dans laquelle les itérations peuvent s’exécuter en parallèle et les options de boucle peuvent être configurées.

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

Exécute une for boucle avec des index 64 bits dans lesquels les itérations peuvent s’exécuter en parallèle et l’état de la boucle peut être surveillé et manipulé.

For(Int64, Int64, Action<Int64>)

Exécute une for boucle avec des index 64 bits dans lesquels les itérations peuvent s’exécuter en parallèle.

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

Exécute une for boucle avec des index 64 bits dans lesquels les itérations peuvent s’exécuter en parallèle, les options de boucle peuvent être configurées et l’état de la boucle peut être surveillé et manipulé.

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

Exécute une for boucle avec des index 64 bits dans lesquels les itérations peuvent s’exécuter en parallèle et les options de boucle peuvent être configurées.

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

Exécute une for boucle avec des données locales de thread dans lesquelles les itérations peuvent s’exécuter en parallèle, et l’état de la boucle peut être surveillé et manipulé.

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

Exécute une for boucle avec des données locales de thread dans lesquelles les itérations peuvent s’exécuter en parallèle, les options de boucle peuvent être configurées et l’état de la boucle peut être surveillé et manipulé.

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

Exécute une for boucle avec des index 64 bits et des données thread-local dans lesquelles les itérations peuvent s’exécuter en parallèle, et l’état de la boucle peut être surveillé et manipulé.

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

Exécute une for boucle avec des index 64 bits et des données thread-local dans lesquelles les itérations peuvent s’exécuter en parallèle, les options de boucle peuvent être configurées et l’état de la boucle peut être surveillé et manipulé.

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

Exécute une opération foreach (For Each dans Visual Basic) avec des données locales de thread sur un IEnumerable dans lequel les itérations peuvent s’exécuter en parallèle et l’état de la boucle peut être surveillé et manipulé.

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

Exécute une opération foreach (For Each dans Visual Basic) avec des données locales de thread sur un IEnumerable dans lequel les itérations peuvent s’exécuter en parallèle, et l’état de la boucle peut être surveillé et manipulé.

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

Exécute une opération foreach (For Each dans Visual Basic) avec des données locales de thread et des index 64 bits sur un IEnumerable dans lequel les itérations peuvent s’exécuter en parallèle, les options de boucle peuvent être configurées et l’état de la boucle peut être surveillé et manipulé.

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

Exécute une opération foreach (For Each dans Visual Basic) avec des données locales de thread sur un IEnumerable dans lequel les itérations peuvent s’exécuter en parallèle, les options de boucle peuvent être configurées et l’état de la boucle peut être surveillé et manipulé.

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

Exécute une opération foreach (For Each dans Visual Basic) avec des données locales de thread sur une OrderablePartitioner<TSource> dans laquelle les itérations peuvent s’exécuter en parallèle, les options de boucle peuvent être configurées et l’état de la boucle peut être surveillé et manipulé.

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

Exécute une opération foreach (For Each dans Visual Basic) avec des index 64 bits et des données locales de thread sur une OrderablePartitioner<TSource> dans laquelle les itérations peuvent s’exécuter en parallèle, les options de boucle peuvent être configurées et l’état de la boucle peut être surveillé et manipulé.

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

Exécute une opération foreach (For Each dans Visual Basic) avec des données locales de thread sur une Partitioner dans laquelle les itérations peuvent s’exécuter en parallèle et l’état de la boucle peut être surveillé et manipulé.

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

Exécute une opération foreach (For Each dans Visual Basic) avec des données locales de thread sur une Partitioner dans laquelle les itérations peuvent s’exécuter en parallèle, les options de boucle peuvent être configurées et l’état de la boucle peut être surveillé et manipulé.

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

Exécute une opération foreach (For Each dans Visual Basic) avec des index 64 bits sur un IEnumerable dans lequel les itérations peuvent s’exécuter en parallèle, et l’état de la boucle peut être surveillé et manipulé.

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

Exécute une opération foreach (For Each dans Visual Basic) sur un IEnumerable dans lequel les itérations peuvent s’exécuter en parallèle, et l’état de la boucle peut être surveillé et manipulé.

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

Exécute une opération foreach (For Each dans Visual Basic) sur un IEnumerable dans lequel les itérations peuvent s’exécuter en parallèle.

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

Exécute une opération foreach (For Each dans Visual Basic) avec des index 64 bits sur un IEnumerable dans lequel les itérations peuvent s’exécuter en parallèle, les options de boucle peuvent être configurées et l’état de la boucle peut être surveillé et manipulé.

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

Exécute une opération foreach (For Each dans Visual Basic) sur un IEnumerable dans lequel les itérations peuvent s’exécuter en parallèle, les options de boucle peuvent être configurées et l’état de la boucle peut être surveillé et manipulé.

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

Exécute une opération foreach (For Each dans Visual Basic) sur un IEnumerable dans lequel les itérations peuvent s’exécuter en parallèle et les options de boucle peuvent être configurées.

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

Exécute une opération foreach (For Each dans Visual Basic) sur un OrderablePartitioner<TSource> dans lequel les itérations peuvent s’exécuter en parallèle et l’état de la boucle peut être surveillé et manipulé.

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

Exécute une opération foreach (For Each dans Visual Basic) sur une opération OrderablePartitioner<TSource> dans laquelle les itérations peuvent s’exécuter en parallèle, les options de boucle peuvent être configurées et l’état de la boucle peut être surveillé et manipulé.

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

Exécute une opération foreach (For Each dans Visual Basic) sur un Partitioner dans lequel les itérations peuvent s’exécuter en parallèle, et l’état de la boucle peut être surveillé et manipulé.

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

Exécute une opération foreach (For Each dans Visual Basic) sur une opération Partitioner dans laquelle les itérations peuvent s’exécuter en parallèle.

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

Exécute une opération foreach (For Each dans Visual Basic) sur une opération Partitioner dans laquelle les itérations peuvent s’exécuter en parallèle, les options de boucle peuvent être configurées et l’état de la boucle peut être surveillé et manipulé.

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

Exécute une opération foreach (For Each dans Visual Basic) sur un Partitioner dans lequel les itérations peuvent s’exécuter en parallèle et les options de boucle peuvent être configurées.

Invoke(Action[])

Exécute chacune des actions fournies, éventuellement en parallèle.

Invoke(ParallelOptions, Action[])

Exécute chacune des actions fournies, éventuellement en parallèle, sauf si l’opération est annulée par l’utilisateur.

S’applique à

Cohérence de thread

Tous les membres publics et protégés sont Parallel thread-safe et peuvent être utilisés simultanément à partir de plusieurs threads.

Voir aussi