色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

DotNet并行計算的使用誤區

  并行計算無疑是.NET Framework平臺的一大亮點,它自動的將一個任務分解,并以并發的形式執行,程序員不用操心各任務之間的協作和同步問題,這使得可以更加專注于業務的實現。

  .NET 中的 TPL(Task Parallel Library),中文意思是任務并行庫,它的設計是為了能更簡單地編寫可自動使用多處理器的托管代碼。使用該庫,用戶可以非常方便地用現有序列代碼表達潛在并行性,這樣序列代碼中公開的并行任務將會在所有可用的處理器上同時運行,通常這會大大提高速度。

  但是,從網上很多已經發布的并行計算的例子來講,有很多存在一定的誤區甚至是誤導,這導致了一線編程人員產生一些錯誤的思路,它們多是通過示例講述并行計算的性能優越性,似乎程序人員可以不費吹灰之力就能將程序性能提升N倍,如果這些想法沒有經過比較就應用于實際,那么就會造成一定的損失。這篇文章就來聊聊關于合理使用并行計算的問題,供大家參考,這些誤區主要包括:

  1. 只要使用并行就會提高程序性能

  2. 并行循環嵌套越多程序性能越高

  3. 并行計算是運行時的事

  下面讓我們來一個個的講解這些誤會。

  ● 誤區一 .只要使用并行就會提高程序性能

  實時并不是這樣,實際上并行計算的使用對前提要求非常嚴格,一般情況大量使用并行計算不但不會提升性能,反而會適得其反,下面有兩個Case給大家說明。

  Case 1. 使用Thread.Sleep()比較并行與單行程序的性能并不客觀。 

  在許多并行計算與單行方式程序性能比較的例子中,很多都包含類似Thread.Sleep()的語句,運行這樣的Demo我們確實看到,并行的時間結果竟然提升如此許多,但是你有沒有仔細研究一下時間降低的原因呢?

  有如下兩段代碼:

  Code Part A:

for (int i = 0; i < 10; i++) 

{

a
= i.ToString();

Thread.Sleep(
200);

}

NET技術DotNet并行計算的使用誤區,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 滨州市| 林口县| 成武县| 都安| 神池县| 乌兰浩特市| 浮山县| 呈贡县| 青海省| 山阴县| 潼南县| 都安| 香港| 恩平市| 三亚市| 鹿泉市| 乌恰县| 安义县| 古田县| 原阳县| 呼伦贝尔市| 新郑市| 当阳市| 许昌县| 扎鲁特旗| 灯塔市| 小金县| 修武县| 凤庆县| 台前县| 万源市| 中阳县| 广昌县| 成武县| 贵阳市| 慈利县| 张掖市| 游戏| 阿瓦提县| 葵青区| 惠来县|