반응형
✔ 반복문 병렬 처리
Parallel.For, Parallel.Foreach로 대용량 데이터 처리
반복문 처리 속도 개선
요즘 CPU 듀얼코어, 쿼드코어 등등 많은데 이 코어들이 병렬적으로 일을 함으로써 속도를 많이 높일 수 있다.
● Parallel 클래스
Parallel 클래스는 Parallel.For, Parallel.Foreach 가 있으며 우리가 흔히 사용하는 For문과 Foreach 문으로 생각하면 된다. Parallel 클래스의 For, Foreach는 다중 쓰래드로 병렬적으로 계산하면서 처리된다.
하지만 무조건 속도가 빨라지는 것은 아니다. 무분별하게 사용할 경우는 오히려 더 느려지는 경우도 있다.
병렬 처리는 대량의 데이터를 처리하거나 복잡한 계산을 처리하는 경우에 사용해야한다.
병렬 처리라고 해서 비동기로 돌아가는 것이 아님!!! 일반적인 반복문과 동일함!!
● 예제
public void ParallelTest()
{
//처리 속도 확인용
System.Diagnostics.Stopwatch watch = new System.Diagnostics.Stopwatch();
watch.Start();
Parallel.For(0, 50000000, i =>
{
//처리 할 내용
}
watch.Stop();
Console.WriteLine(watch.Elapsed.ToString());
}
일반 For문과 Parallel.For문으로 돌려보고 실행시간의 차이를 확인해보세요~
반응형
'Programming > C#' 카테고리의 다른 글
[C#] Winform에서 Thread 동작 안되고 종료될 경우 [해결법] (0) | 2020.04.22 |
---|---|
[C#] 나만의 캡처, 녹화 프로그램을 만들자 - Part.0 [OpenCV 설치] (9) | 2020.03.06 |
[C#] 쓰레드 생성 / 실행 / 종료 (0) | 2019.10.17 |
[C#] MSSQL 접속 , 데이터 조회(select), 삽입(insert), 업데이트(update) 쿼리 (1) | 2019.09.26 |
[C#] Xml 데이터 파라미터 사용법 및 넣기 ( 초간단 ) (0) | 2019.09.25 |
댓글