반응형

string[] filename

 

#기존 코드

            for (int i = 0; i < filename.Length; i++)
            {
                DataSet _ds = GetData(filename[i]);
                _dt.Merge(_ds.Tables[0]);
            }

#병열화 코드

            Parallel.ForEach(filenamefile =>
            {
                DataSet _ds = GetData2(file);
                _dt.Merge(_ds.Tables[0]);
            });

 

기존코드에서 데이터를 처리할때 2시간 걸리던 동작이 병열처리로 30분으로 줄었다.

단점은 데이터를 병열로 처리하다보니 순서가 뒤죽박죽이 된다. 데이터의 순서가 중요한 경우

사용에 주의가 필요하다.

Parallel.For로도 사용할 수 있다.

+ Recent posts