방법: 병렬 및 순차적 LINQ 쿼리 결합
이 예제는 AsSequential 메서드를 사용하여 쿼리의 모든 후속 연산자를 순차적으로 처리하도록 PLINQ에 지시하는 방법을 보여줍니다. 순차적 처리는 종종 병렬보다 느리지만 올바른 결과를 생성하는 데 필요한 경우도 있습니다.
참고 항목
이 예제는 사용법을 보여 주기 위한 것이며, 동일한 순차 LINQ to Objects 쿼리보다 빠르게 실행되지 않을 수도 있습니다. 속도 향상에 대한 자세한 내용은 PLINQ의 속도 향상 이해를 참조하세요.
예시
다음 예제에서는 쿼리의 이전 절에서 설정된 순서를 유지하기 위해 AsSequential이 필요한 하나의 시나리오를 보여줍니다.
// Paste into PLINQDataSample class.
static void SequentialDemo()
{
var orders = GetOrders();
var query = (from order in orders.AsParallel()
orderby order.OrderID
select new
{
order.OrderID,
OrderedOn = order.OrderDate,
ShippedOn = order.ShippedDate
})
.AsSequential().Take(5);
}
' Paste into PLINQDataSample class
Shared Sub SequentialDemo()
Dim orders = GetOrders()
Dim query = From ord In orders.AsParallel()
Order By ord.OrderID
Select New With
{
ord.OrderID,
ord.OrderDate,
ord.ShippedDate
}
Dim query2 = query.AsSequential().Take(5)
For Each item In query2
Console.WriteLine("{0}, {1}, {2}", item.OrderDate, item.OrderID, item.ShippedDate)
Next
End Sub
코드 컴파일
이 코드를 컴파일하고 실행하려면 PLINQ 데이터 샘플 프로젝트에 붙여넣고, Main
에서 메서드를 호출하는 줄을 추가하고 F5 키를 누르세요.
참고 항목
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET