Parallel Osztály

Definíció

Támogatja a párhuzamos hurkokat és régiókat.

public ref class Parallel abstract sealed
public static class Parallel
type Parallel = class
Public Class Parallel
Öröklődés
Parallel

Példák

Ez a példa több módszert mutat be egy párhuzamos hurok több nyelvi szerkezettel történő implementálásához.

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

Megjegyzések

Az Parallel osztály könyvtáralapú párhuzamos adatcseréket biztosít a gyakori műveletekhez, például a hurkokhoz, az egyes hurkokhoz és egy utasításkészlet végrehajtásához.

Metódusok

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

Olyan ciklust for hajt végre, amelyben az iterációk párhuzamosan futhatnak, és a ciklus állapota figyelhető és módosítható.

For(Int32, Int32, Action<Int32>)

Olyan ciklust for hajt végre, amelyben az iterációk párhuzamosan futhatnak.

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

Olyan ciklust for hajt végre, amelyben az iterációk párhuzamosan futhatnak, a ciklus beállításai konfigurálhatók, és a ciklus állapota monitorozásra és manipulálásra is használható.

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

Végrehajt egy ciklust for , amelyben az iterációk párhuzamosan futhatnak, és a ciklusbeállítások konfigurálhatók.

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

Egy 64 bites indexekkel rendelkező ciklust for hajt végre, amelyben az iterációk párhuzamosan futhatnak, és a ciklus állapota monitorozásra és manipulálásra is használható.

For(Int64, Int64, Action<Int64>)

Egy ciklust for hajt végre 64 bites indexekkel, amelyekben az iterációk párhuzamosan futhatnak.

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

Egy 64 bites indexekkel rendelkező ciklust for hajt végre, amelyben az iterációk párhuzamosan futhatnak, konfigurálhatók a ciklus beállításai, és a ciklus állapota monitorozásra és manipulálásra is használható.

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

for Egy ciklust hajt végre 64 bites indexekkel, amelyekben az iterációk párhuzamosan futhatnak, és a ciklusbeállítások konfigurálhatók.

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

Egy szálalapú adatokkal rendelkező hurkot for hajt végre, amelyben az iterációk párhuzamosan futhatnak, és a ciklus állapota figyelhető és módosítható.

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

Olyan ciklust for hajt végre szál-helyi adatokkal, amelyekben az iterációk párhuzamosan futhatnak, a ciklusbeállítások konfigurálhatók, és a ciklus állapota monitorozásra és manipulálásra is használható.

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

Egy ciklust for hajt végre 64 bites indexekkel és szál-helyi adatokkal, amelyekben az iterációk párhuzamosan futhatnak, és a ciklus állapota figyelhető és módosítható.

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

for Egy ciklust hajt végre 64 bites indexekkel és szál-helyi adatokkal, amelyekben az iterációk párhuzamosan futhatnak, a ciklusbeállítások konfigurálhatók, és a hurok állapota monitorozásra és manipulálásra is használható.

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

Végrehajt egy foreach (For Each Visual Basic) műveletet szál-helyi adatokkal egy IEnumerable, amelyben az iterációk párhuzamosan futhatnak, és a ciklus állapota monitorozásra és manipulálásra is használható.

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

Végrehajt egy foreach (For Each Visual Basic) műveletet szál-helyi adatokkal egy IEnumerable, amelyben az iterációk párhuzamosan futhatnak, és a hurok állapota monitorozásra és manipulálásra is használható.

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

Egy foreach (For Each Visual Basic) műveletet hajt végre szál-helyi adatokkal és 64 bites indexekkel egy IEnumerable, amelyben az iterációk párhuzamosan futhatnak, konfigurálhatók a hurok beállításai, és a hurok állapota monitorozásra és manipulálásra is használható.

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

Végrehajt egy foreach (For Each Visual Basic) műveletet szál-helyi adatokkal egy IEnumerable, amelyben az iterációk párhuzamosan futhatnak, konfigurálhatók a hurok beállításai, és a hurok állapota monitorozásra és manipulálásra is használható.

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

Egy foreach (For Each Visual Basic) műveletet hajt végre szál-helyi adatokkal egy OrderablePartitioner<TSource>, amelyben az iterációk párhuzamosan futhatnak, konfigurálhatók a hurok beállításai, és a hurok állapota monitorozásra és manipulálásra is használható.

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

Egy foreach (For Each Visual Basic) műveletet hajt végre 64 bites indexekkel és szál-helyi adatokkal egy OrderablePartitioner<TSource>, amelyben az iterációk párhuzamosan futhatnak, konfigurálhatók a hurok beállításai, és a hurok állapota monitorozásra és manipulálásra is használható.

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

Egy foreach (For Each Visual Basic) műveletet hajt végre szál-helyi adatokkal egy Partitioner, amelyben az iterációk párhuzamosan futhatnak, és a ciklus állapota figyelhető és módosítható.

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

Egy foreach (For Each Visual Basic) műveletet hajt végre szál-helyi adatokkal egy Partitioner, amelyben az iterációk párhuzamosan futhatnak, konfigurálhatók a hurok beállításai, és a hurok állapota monitorozásra és manipulálásra is használható.

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

Végrehajt egy foreach (For Each Visual Basic) műveletet 64 bites indexekkel egy IEnumerable, amelyben az iterációk párhuzamosan futhatnak, és a hurok állapota monitorozásra és manipulálásra is használható.

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

Végrehajt egy foreach (For Each Visual Basic) műveletet egy IEnumerable, amelyben az iterációk párhuzamosan futhatnak, és a hurok állapota monitorozásra és manipulálásra is használható.

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

Végrehajt egy foreach (For Each Visual Basic) műveletet egy IEnumerable, amelyben az iterációk párhuzamosan futhatnak.

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

Végrehajt egy foreach (For Each Visual Basic) műveletet 64 bites indexekkel egy IEnumerable, amelyben az iterációk párhuzamosan futhatnak, konfigurálhatók a hurok beállításai, és a hurok állapota monitorozásra és manipulálásra is használható.

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

Egy foreach (For Each Visual Basic) műveletet hajt végre egy IEnumerable, amelyben az iterációk párhuzamosan futhatnak, konfigurálhatók a hurok beállításai, valamint a hurok állapota monitorozásra és manipulálásra.

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

Végrehajt egy foreach (For Each Visual Basic) műveletet egy IEnumerable, amelyben az iterációk párhuzamosan futhatnak, és konfigurálhatók a ciklusbeállítások.

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

Végrehajt egy foreach (For Each Visual Basic) műveletet egy OrderablePartitioner<TSource>, amelyben az iterációk párhuzamosan futhatnak, és a hurok állapota monitorozásra és manipulálásra is használható.

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

Végrehajt egy foreach (For Each Visual Basic) műveletet egy OrderablePartitioner<TSource>, amelyben az iterációk párhuzamosan futhatnak, konfigurálhatók a hurok beállításai, és a hurok állapota monitorozásra és manipulálásra is használható.

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

Végrehajt egy foreach (For Each Visual Basic) műveletet egy Partitioner, amelyben az iterációk párhuzamosan futhatnak, és a hurok állapota monitorozásra és manipulálásra is használható.

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

Végrehajt egy foreach (For Each Visual Basic) műveletet egy Partitioner, amelyben az iterációk párhuzamosan futhatnak.

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

Végrehajt egy foreach (For Each Visual Basic) műveletet egy Partitioner, amelyben az iterációk párhuzamosan futhatnak, konfigurálhatók a hurok beállításai, és a hurok állapota monitorozásra és manipulálásra is használható.

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

Végrehajt egy foreach (For Each Visual Basic) műveletet egy Partitioner, amelyben az iterációk párhuzamosan futhatnak, és konfigurálhatók a ciklusbeállítások.

Invoke(Action[])

Végrehajtja az egyes megadott műveleteket, esetleg párhuzamosan.

Invoke(ParallelOptions, Action[])

Végrehajtja az egyes megadott műveleteket, esetleg párhuzamosan, kivéve, ha a felhasználó megszakítja a műveletet.

A következőre érvényes:

Szálbiztonság

Az összes nyilvános és védett tagja Parallel szálbiztos, és egyidejűleg több szálból is használható.

Lásd még