■ PLINQ 사용하기

----------------------------------------------------------------------------------------------------

using System;

using System.Collections.Generic;

using System.Linq;

 

/// <summary>

/// 학생

/// </summary>

public class Student

{

    //////////////////////////////////////////////////////////////////////////////////////////////////// Property

    ////////////////////////////////////////////////////////////////////////////////////////// Public

 

    #region 성명 - Name

 

    /// <summary>

    /// 성명

    /// </summary>

    public string Name { get; set; }

 

    #endregion

 

    #region 연령 - Age

 

    /// <summary>

    /// 연령

    /// </summary>

    public int Age { get; set; }

 

    #endregion

}

 

...

 

Random random = new Random();

 

List<Student> studentList = new List<Student>();

 

for(int i = 0; i < 1000000; i++)

{

    Student student = new Student();

 

    student.Name = string.Format("성명 {0}", i +1);

    student.Age  = random.Next(0, 100);

 

    studentList.Add(student);

}

 

var result = from    student in studentList.AsParallel()

             where   student.Age > 50

             orderby student.Age ascending

             select  student;

----------------------------------------------------------------------------------------------------

※ AsParallel 메소드 추가만으로 PLINQ가 적용된다.

※ 단순 계산의 경우 병렬 처리 오버헤드 증가로 처리 속도가 증가할 수 있다.

Posted by 사용자 icodebroker
TAG

댓글을 달아 주세요