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 루프, 각 루프 및 문 집합의 실행과 같은 일반적인 작업에 대한 라이브러리 기반 데이터 병렬 대체를 제공합니다.

메서드

Name Description
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>)

반복이 for 병렬로 실행될 수 있고 루프의 상태를 모니터링하고 조작할 수 있는 64비트 인덱스가 있는 루프를 실행합니다.

For(Int64, Int64, Action<Int64>)

반복이 병렬로 for 실행될 수 있는 64비트 인덱스가 있는 루프를 실행합니다.

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

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

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

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

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>)

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

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

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

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

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

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

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

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

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

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

반복이 병렬로 실행되고 루프 옵션을 구성할 수 있고 루프 상태를 모니터링 및 조작할 수 있는 foreach 스레드 로컬 데이터로 For Each(Visual Basic IEnumerable) 작업을 실행합니다.

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

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

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

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

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

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

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

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

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

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

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

반복이 병렬 <로 실행되고 루프 상태를 모니터링 및 조작할 수 있는 (Visual Basic에서는 ) 작업을 실행합니다.

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

반복이 병렬로 실행되는 foreachFor Each(Visual Basic에서는 IEnumerable) 작업을 실행합니다.

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

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

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

반복이 병렬로 실행되고 루프 옵션을 구성할 수 있고 루프 상태를 모니터링 및 조작할 수 있는 foreachFor Each(Visual Basic IEnumerable) 작업을 실행합니다.

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

반복이 병렬로 실행되고 루프 옵션을 구성할 수 있는 foreachFor Each(Visual Basic IEnumerable) 작업을 실행합니다.

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

반복이 병렬로 실행되고 루프 상태를 모니터링 및 조작할 수 있는 foreachFor Each(Visual Basic OrderablePartitioner<TSource>) 작업을 실행합니다.

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

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

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

반복이 병렬로 실행되고 루프의 상태를 모니터링 및 조작할 수 있는 foreachFor Each(Visual Basic Partitioner) 작업을 실행합니다.

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

반복이 병렬로 실행되는 foreachFor Each(Visual Basic Partitioner) 작업을 실행합니다.

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

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

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

반복이 병렬로 실행되고 루프 옵션을 구성할 수 있는 foreachFor Each(Visual Basic Partitioner) 작업을 실행합니다.

Invoke(Action[])

제공된 각 작업을 병렬로 실행합니다.

Invoke(ParallelOptions, Action[])

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

적용 대상

스레드 보안

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

추가 정보