實列:console.writeline("hello world!");
console.writeline("當前計算機處理器數:", environment.processorcount);
concurrentqueueproducts = new concurrentqueue();
/*向集合中新增多條資料 可以修改資料量檢視linq和plinq的效能*/
parallel.for(0, 60000000, (num) =>
);});
/*採用linq查詢符合條件的資料*/
stopwatch sw = new stopwatch();
sw.restart();
var productlistlinq = from product in products
where (product.name.contains("1") && product.name.contains("2") && product.category.contains("1") && product.category.contains("2"))
select product;
console.writeline("採用linq 查詢得出數量為:", productlistlinq.count());
sw.stop();
console.writeline("採用linq 耗時:", sw.elapsedmilliseconds);
console.writeline(datetime.now);
/*採用plinq查詢符合條件的資料*/
sw.restart();
var productlistplinq = from product in products.asparallel() /*asparallel 試圖利用執行時所有可用的邏輯核心,從而使執行的速度比序列的版本要快 但是需要注意開銷所帶來的效能損耗*/
where (product.name.contains("1") && product.name.contains("2") && product.category.contains("1") && product.category.contains("2"))
select product;
console.writeline("採用plinq 查詢得出數量為:", productlistplinq.count());
sw.stop();
console.writeline(datetime.now);
console.writeline("採用plinq 耗時:", sw.elapsedmilliseconds);
console.readline();
並行程式設計之PLINQ
並行 linq plinq 是linq 模式的並行實現。plinq 的主要用途是通過在多核計算機上以並行方式執行查詢委託來加快 linq to objects 查詢的執行速度。與順序linq 查詢一樣,plinq 查詢對任何記憶體中 ienumerable 或ienumerable of t 資料來...
並行程式設計與PLINQ 任務並行
任務並行 在tpl當中還可以使用parallel.invoke方法觸發多個非同步任務,其中 actions 中可以包含多個方法或者委託,paralleloptions用於配置parallel類的操作。public static void invoke action actions public st...
並行處理本地資料PLINQ
簡單介紹 此處介紹的並行處理,主要是處理本地儲存的資料 當使用並行處理時,會把資料拆分為多個小塊,然後用多個執行緒處理這些小塊的資料,多執行緒處理後的資料再統一處理再返回 以下是處理100萬陣列的資料量 如下 using system using system.collections.generic...