-
C# 병렬 foreach, Parallel.ForEach닷넷/C# 2018. 1. 2. 11:11반응형
foreach는 c#의 또 다른 for문이다.
for처럼 foreach도 작업을 하나씩 차례대로 처리한다.
이렇게 되다보면 앞의 작업처리가 오래걸릴 경우 그 다음 작업에 영향을 줄 수 있는 일이 발생한다.
하나씩 차례대로 처리를 하는데 앞 작업이 뒤의 작업에 영향을 주어서는 안될 때
데이터를 병렬처리하고자 할 때 C#에선 간단히 할 수 있는 방법이 있다.
바로 Parallel.ForEach 메소드를 사용하는 것이다.
Parallel.ForEach의 문법은 foreach와 비슷하므로 foreach를 쓸 줄 알면 쉽게 사용할 수 있다.
참고로 Parallel.ForEach를 쓰기 위해선 using System.Threading.Tasks; 가 선언되어 있어야 한다.
foreach 문을 간단히 표현하면 다음과 같다.
foreach (var item in array)
{
Console.WriteLine(item);
}이것을 Parallel.ForEach 로 표현하면 다음과 같다.
Parallel.ForEach(array, (item) =>
{
Console.WriteLine(item);
});Parallel.ForEach 메소드에 대해 더 궁금한 사항은 MSDN을 참고한다.
https://msdn.microsoft.com/ko-kr/library/dd991486(v=vs.110).aspx
반응형'닷넷 > C#' 카테고리의 다른 글
C# 텍스트파일 읽기 (1) 2018.03.14 C# 바이너리 파일 읽기 (한글 포함) (0) 2018.01.09 C# AES 256 암호화와 복호화 코드 (0) 2017.09.14 C# 현재 실행 중인 프로세스 목록 (0) 2017.09.08 How to format a datetime with slash in C# (0) 2017.09.05