Parallel 클래스

정의

병렬 루프 및 영역에 대한 지원을 제공합니다.

public ref class Parallel abstract sealed
public static class Parallel
type Parallel = class
Public Class Parallel
상속
Parallel

예제

이 예제에서는 여러 언어 구문을 사용하여 병렬 루프를 구현하는 몇 가지 방법을 보여 줍니다.

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

설명

클래스는 Parallel for 루프, 각 루프 및 문 집합의 실행과 같은 일반적인 작업에 대한 라이브러리 기반 데이터 병렬 대체를 제공합니다.

메서드

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

반복을 병렬로 실행할 수 있고 루프 상태를 모니터링 및 조작할 수 있는 for 루프를 실행합니다.

For(Int32, Int32, Action<Int32>)

반복이 병렬로 실행될 수 있는 for 루프를 실행합니다.

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

반복을 병렬로 실행할 수 있고 루프 옵션을 구성할 수 있으며 루프 상태를 모니터링 및 조작할 수 있는 for 작업을 루프를 실행합니다.

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

반복을 병렬로 실행할 수 있고 루프 옵션을 구성할 수 있는 for 루프를 실행합니다.

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

64비트 인덱스를 사용하여 반복을 병렬로 실행할 수 있고 루프 상태를 모니터링 및 조작할 수 있는 for 루프를 실행합니다.

For(Int64, Int64, Action<Int64>)

64비트 인덱스를 사용하여 반복을 병렬로 실행할 수 있는 for 루프를 실행합니다.

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

64비트 인덱스를 사용하여 반복을 병렬로 실행할 수 있고 루프 옵션을 구성할 수 있으며 루프 상태를 모니터링 및 조작할 수 있는 for 루프를 실행합니다.

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

64비트 인덱스를 사용하여 반복을 병렬로 실행할 수 있고 루프 옵션을 구성할 수 있는 for 루프를 실행합니다.

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

스레드 로컬 데이터를 사용하여 반복을 병렬로 실행할 수 있고 루프 상태를 모니터링 및 조작할 수 있는 for 루프를 실행합니다.

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

스레드 로컬 데이터를 사용하여 반복을 병렬로 실행할 수 있고 루프 옵션을 구성할 수 있으며 루프 상태를 모니터링 및 조작할 수 있는 for 루프를 실행합니다.

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

64비트 인덱스와 스레드 로컬 데이터를 사용하여 반복을 병렬로 실행할 수 있고 루프 상태를 모니터링 및 조작할 수 있는 for 루프를 실행합니다.

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

64비트 인덱스와 스레드 로컬 데이터를 사용하여 반복을 병렬로 실행할 수 있고 루프 옵션을 구성할 수 있으며 루프 상태를 모니터링 및 조작할 수 있는 for 루프를 실행합니다.

ForAsync<T>(T, T, CancellationToken, Func<T,CancellationToken,ValueTask>)

반복을 병렬로 실행할 수 있는 for 루프를 실행합니다.

ForAsync<T>(T, T, Func<T,CancellationToken,ValueTask>)

반복을 병렬로 실행할 수 있는 for 루프를 실행합니다.

ForAsync<T>(T, T, ParallelOptions, Func<T,CancellationToken,ValueTask>)

반복을 병렬로 실행할 수 있는 for 루프를 실행합니다.

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

스레드 로컬 데이터를 사용하여 반복을 병렬로 실행할 수 있고 루프 상태를 모니터링 및 조작할 수 있는 foreach(Visual Basic의 경우 For Each) 작업을 IEnumerable에 대해 실행합니다.

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

스레드 로컬 데이터를 사용하여 반복을 병렬로 실행할 수 있고 루프 상태를 모니터링 및 조작할 수 있는 foreach(Visual Basic의 경우 For Each) 작업을 IEnumerable에 대해 실행합니다.

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

64비트 인덱스와 스레드 로컬 데이터를 사용하여 반복을 병렬로 실행할 수 있고 루프 옵션을 구성할 수 있으며 루프 상태를 모니터링 및 조작할 수 있는 foreach(Visual Basic의 경우 For Each) 작업을 IEnumerable에 대해 실행합니다.

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

스레드 로컬 데이터를 사용하여 반복을 병렬로 실행할 수 있고 루프 옵션을 구성할 수 있으며 루프 상태를 모니터링 및 조작할 수 있는 foreach(Visual Basic의 경우 For Each) 작업을 IEnumerable에 대해 실행합니다.

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

스레드 로컬 데이터를 사용하여 반복을 병렬로 실행할 수 있고 루프 옵션을 구성할 수 있으며 루프 상태를 모니터링 및 조작할 수 있는 foreach(Visual Basic의 경우 For Each) 작업을 OrderablePartitioner<TSource>에 대해 실행합니다.

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

반복이 foreach 병렬로 실행될 수 있는 에서 64비트 인덱스와 스레드 로컬 데이터를 OrderablePartitioner<TSource> 사용하여 (For Each Visual Basic의 경우) 작업을 실행하고 루프 옵션을 구성할 수 있으며 루프 상태를 모니터링하고 조작할 수 있습니다.

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

스레드 로컬 데이터를 사용하여 반복을 병렬로 실행할 수 있고 루프 상태를 모니터링 및 조작할 수 있는 foreach(Visual Basic의 경우 For Each) 작업을 Partitioner에 대해 실행합니다.

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

스레드 로컬 데이터를 사용하여 반복을 병렬로 실행할 수 있고 루프 옵션을 구성할 수 있으며 루프 상태를 모니터링 및 조작할 수 있는 foreach(Visual Basic의 경우 For Each) 작업을 Partitioner에 대해 실행합니다.

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

64비트 인덱스를 사용하여 반복을 병렬로 실행할 수 있고 루프 상태를 모니터링 및 조작할 수 있는 foreach(Visual Basic의 경우 For Each) 작업을 IEnumerable에 대해 실행합니다.

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

반복을 병렬로 실행할 수 있고 루프 상태를 모니터링 및 조작할 수 있는 foreach(Visual Basic의 경우 For Each) 작업을 IEnumerable에 대해 실행합니다.

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

반복이 병렬로 실행될 수 있는 foreach(Visual Basic의 경우 For Each) 작업을 IEnumerable 작업을 실행합니다.

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

64비트 인덱스를 사용하여 반복을 병렬로 실행할 수 있고 루프 옵션을 구성할 수 있으며 루프 상태를 모니터링 및 조작할 수 있는 foreach(Visual Basic의 경우 For Each) 작업을 IEnumerable에 대해 실행합니다.

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

반복을 병렬로 실행할 수 있고 루프 옵션을 구성할 수 있으며 루프 상태를 모니터링 및 조작할 수 있는 foreach(Visual Basic의 경우 For Each) 작업을 IEnumerable에 대해 실행합니다.

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

반복을 병렬로 실행할 수 있고 루프 옵션을 구성할 수 있는 foreach(Visual Basic의 경우 For Each) 작업을 IEnumerable에 대해 실행합니다.

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

반복을 병렬로 실행할 수 있고 루프 상태를 모니터링 및 조작할 수 있는 foreach(Visual Basic의 경우 For Each) 작업을 OrderablePartitioner<TSource>에 대해 실행합니다.

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

반복을 병렬로 실행할 수 있고 루프 옵션을 구성할 수 있으며 루프 상태를 모니터링 및 조작할 수 있는 foreach(Visual Basic의 경우 For Each) 작업을 OrderablePartitioner<TSource>에 대해 실행합니다.

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

반복을 병렬로 실행할 수 있고 루프 상태를 모니터링 및 조작할 수 있는 foreach(Visual Basic의 경우 For Each) 작업을 Partitioner에 대해 실행합니다.

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

반복이 병렬로 실행될 수 있는 foreach(Visual Basic의 경우 For Each) 작업을 Partitioner 작업을 실행합니다.

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

반복을 병렬로 실행할 수 있고 루프 옵션을 구성할 수 있으며 루프 상태를 모니터링 및 조작할 수 있는 foreach(Visual Basic의 경우 For Each) 작업을 Partitioner에 대해 실행합니다.

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

반복을 병렬로 실행할 수 있고 루프 옵션을 구성할 수 있는 foreach(Visual Basic의 경우 For Each) 작업을 Partitioner에 대해 실행합니다.

ForEachAsync<TSource>(IAsyncEnumerable<TSource>, CancellationToken, Func<TSource,CancellationToken,ValueTask>)

반복을 병렬로 for-eachIEnumerable<T> 실행할 수 있는 에 대한 작업을 실행합니다.

ForEachAsync<TSource>(IAsyncEnumerable<TSource>, Func<TSource,CancellationToken,ValueTask>)

반복을 병렬로 for-eachIEnumerable<T> 실행할 수 있는 에 대한 작업을 실행합니다.

ForEachAsync<TSource>(IAsyncEnumerable<TSource>, ParallelOptions, Func<TSource,CancellationToken,ValueTask>)

반복을 병렬로 for-eachIEnumerable<T> 실행할 수 있는 에 대한 작업을 실행합니다.

ForEachAsync<TSource>(IEnumerable<TSource>, CancellationToken, Func<TSource,CancellationToken,ValueTask>)

반복을 병렬로 for-eachIEnumerable<T> 실행할 수 있는 에 대한 작업을 실행합니다.

ForEachAsync<TSource>(IEnumerable<TSource>, Func<TSource,CancellationToken,ValueTask>)

반복을 병렬로 for-eachIEnumerable<T> 실행할 수 있는 에 대한 작업을 실행합니다.

ForEachAsync<TSource>(IEnumerable<TSource>, ParallelOptions, Func<TSource,CancellationToken,ValueTask>)

반복을 병렬로 for-eachIEnumerable<T> 실행할 수 있는 에 대한 작업을 실행합니다.

Invoke(Action[])

각각의 제공된 동작을 가능하면 병렬로 실행합니다.

Invoke(ParallelOptions, Action[])

사용자가 작업을 취소하지 않는다면 제공된 각 작업을 가능한 한 병렬로 실행합니다.

적용 대상

스레드 보안

Parallel 모든 공용 및 보호된 멤버는 스레드로부터 안전하며 여러 스레드에서 동시에 사용할 수 있습니다.

추가 정보