C 並行程式設計 PLINQ

2022-08-05 15:21:18 字數 1405 閱讀 1143

實列: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...