2014년 11월 6일 목요일

Parallel을 통한 병렬 처리에 대한 데모 코드입니다.

Parallel을 통한 병렬 처리에 대한 데모 코드입니다.
 조회 : 47
나의 폴더 > C# | 2013-02-05 (Tue) 19:31http://blog.dreamwiz.com/papasmf1/13929007
        private static void LongRunningMethodA()
        {
            Thread.Sleep(3000);
            Debug.WriteLine("A 현재 시간은 {0}", DateTime.Now);
        }
        private static void LongRunningMethodB()
        {
            Thread.Sleep(2000);
            Debug.WriteLine("B 현재 시간은 {0}", DateTime.Now);
        }
        private static void LongRunningMethodC()
        {
            Thread.Sleep(5000);
            Debug.WriteLine("C 현재 시간은 {0}", DateTime.Now);
        }

        private void button4_Click(object sender, EventArgs e)
        {
            //동시에 태스크들을 실행할 경우 패러럴을 사용한다.
            Parallel.Invoke(() => LongRunningMethodA(),
                            () => LongRunningMethodB(),
                            () => LongRunningMethodC());

            //Parallel.For를 통한 반복
            int from = 0;
            int to = 10000;
            double[] array = new double[to];
            //아래의 코드는 순차적인 처리 코드
            for (int index = 0; index < 10000; index++)
            {
                array[index] = Math.Sqrt(index);
            }

            //아래의 코드는 동등한 병렬 처리 코드
            Parallel.For(from, to, index =>
                {
                    array[index] = Math.Sqrt(index);
                });
        }


댓글 없음:

댓글 쓰기

참고: 블로그의 회원만 댓글을 작성할 수 있습니다.

송길영 작가의 신간 - "경량문명의 탄생" 독서 후기입니다.

  문명이 바뀌고 있다는 것을 누구나 감지하고 있습니다. ㅎㅎ 중량문명이 아닌 경량문명의 시대가 도래하고 있습니다. 수업을 하면서, 또는 친구들과 대화하면서 문명이 바뀌고 있다는 말을 자주했는데 정말 설명하기 좋은 단어가 바로 "경량문명...