C# 並列プログラミングの PLINQ (Parallel LINQ)_C# チュートリアル

メモリ内のデータに対して並列操作を実行するために使用されます。つまり、LINQ to Object の並列操作のみをサポートします。

1. AsParallel (並列化)

コレクションの後に AsParallel() を追加するだけです。

例えば:

var numbers = Enumerable.Range(0, 100);
var result = numbers.AsParallel().AsOrdered().Where(i => i % 2 == 0);
foreach (var i in result)
Console.WriteLine(i);

次に、1,500 万件のレコードを ConcurrentDictionary に注ぐことをシミュレートして、シリアルとパラレルの効率の違いを確認してみましょう.私のクラシック マシンには 2 つのハードウェア スレッドがあることに注意してください.

static void Main(string[] args)
{
    var dic = LoadData();

    Stopwatch watch = new Stopwatch();

    watch.Start();

    //串行执行
    var query1 = (from n in dic.Values
                  where n.Age > 20 && n.Age < 25
                  select n).ToList();

    watch.Stop();

    Console.WriteLine("串行计算耗费时间:{0}", watch.ElapsedMilliseconds);

    watch.Restart();

    var query2 

おすすめ

転載: blog.csdn.net/shengyin714959/article/details/130329683