當前位置:編程學習大全網 - 腳本源碼 - .NET的並行計算

.NET的並行計算

並行計算的出現,是計算機科學發展的必然結果,隨著計算機硬件的迅猛發展,在多核處理器上工作已經是既存事實,而傳統的編程模式必須兼容新的硬件環境才能使計算機性能達到合理的應用效果。用Anders大師的話說:未來5到10年,並行計算將成為主流編程語言不可忽視的方向,而4.0為C#打響了實現並發的第壹槍。

未來的.NET Framework 4.0中將集成TPL(Task Parallel Library)和PLINQ(Parallel LINQ),這也意味著未來我們可以應用C# 4.0實現並行化應用,在統壹的工作調度程序下進行硬件的並行協調,這將大大提高應用程序的性能同時降低現存並發模型的復雜性。

那麽,我們應該壹睹為快應用C#武器來開發並發環境下的超酷感受,在System.Threading.Parallel 靜態類提供了三個重要的方法For、Foreach、Invoke可以為我們小試牛刀:

//應用TPL,執行並行循環任務

Parallel.For(0,10,i =>{DoSomething(i);});

在線程爭用執行情況下,相同的操作在雙核平臺下運行,以StopWatch進行精確時間測試,並行環境下的執行時間為 2001ms,而非並行環境下的執行時間為4500ms,並行運算的魅力果然名不虛傳。我們再接再厲應用PLINQ執行對於並行運算的查詢、排序等,當前PLINQ支持兩種方式ParallelEnumerable類和ParallelQuery類,例如:

int[] data = new int[] { 0,1,2,3,4,5,6,7,8,9 };

int[] selected = (from x in data.AsParallel()

select x + 1).ToArray();

更詳細的對比示例留待讀者在實踐中對此進行討論,並行計算為托管代碼在多核環境下的性能優化提供了統壹的解決方案,而未來我們會做的更好。

備註:實際上,我們可以選擇下載安裝Microsoft Parallel Extensions to the .NET Framework 3.5June 2008 CTP包,就可以在.NET 3.5環境下體驗並行計算的無窮魅力。

  • 上一篇:微信裏怎麽查看2016微信公開課
  • 下一篇:鐵甲艦上的男人們大結局龍翔宇死了嗎
  • copyright 2024編程學習大全網