Postupy: Kombinování paralelních a sekvenčních LINQ dotazů
Tento příklad ukazuje použití AsSequential<TSource> Metoda PLINQ zpracovat všechny následné operátory dotazu postupně pokyn. I když je sekvenční zpracování obecně pomalejší než paralelní, někdy je nezbytné pro správné výsledky.
![]() |
---|
Tento příklad je určen k prokázání využití a může běžet rychleji než ekvivalentní sekvenční LINQ dotazu objektů.Další informace o Vančurovou Principy Vančurovou v PLINQ. |
Příklad
Následující příklad ukazuje jeden scénář, ve kterém je požadováno AsSequential<TSource>, jmenovitě pro zachování pořadí, které bylo stanoveno v předchozí klauzuli dotazu.
' Paste into PLINQDataSample class
Shared Sub SequentialDemo()
Dim orders = GetOrders()
Dim query = From ord In orders.AsParallel()
Order By ord.CustomerID
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
// Paste into PLINQDataSample class.
static void SequentialDemo()
{
var orders = GetOrders();
var query = (from ord in orders.AsParallel()
orderby ord.CustomerID
select new
{
Details = ord.OrderID,
Date = ord.OrderDate,
Shipped = ord.ShippedDate
}).
AsSequential().Take(5);
}
Probíhá kompilace kódu
Pro zkompilování a spuštění tohoto kódu jej vložte do projektu PLINQ Data Sample, přidejte řádek s voláním do metody Main a stiskněte klávesu F5.
Viz také
Koncepty
Historie změn
Datum |
Poslední dokumenty |
Důvod |
---|---|---|
Květen 2010 |
Byla přidána poznámka týkající se používání vs. Vančurovou. |
Názory zákazníků |