Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a példa bemutatja, hogyan utasíthatja a PLINQ-t a AsSequential lekérdezés összes további operátorának szekvenciális feldolgozására a metódus használatával. Bár a szekvenciális feldolgozás gyakran lassabb, mint a párhuzamos, néha szükség van a megfelelő eredmények előállítására.
Feljegyzés
Ez a példa a használat bemutatására szolgál, és előfordulhat, hogy nem fut gyorsabban, mint az objektumokhoz tartozó, szekvenciális LINQ lekérdezés. További információ a gyorsításról: Understanding Speedup in PLINQ.
Példa
Az alábbi példa egy olyan forgatókönyvet mutat be, amelyben AsSequential szükség van rá, nevezetesen a lekérdezés egy korábbi záradékában létrehozott sorrend megőrzésére.
// 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
A kód összeállítása
A kód fordításához és futtatásához illessze be a PLINQ-adatmintaprojektbe, adjon hozzá egy sort a metódus Mainmeghívásához, majd nyomja le az F5 billentyűt.