.net - parallel - tpl




並行化CPU密集型.NET應用程序的最佳選擇是什麼? (5)

@Larsenal

如果你想在.NET之外進行分支,關於英特爾的線程構建模塊已經有很多討論,這些模塊是C ++的並行庫。

這是一個開放式的問題。 我應該考慮哪些方法?


你的第一步是找到並理解你的問題的並行性。 編寫多線程的代碼真的很容易,它的執行效率不及它所替代的單線程代碼。 “並行編程模式” (Amazon)是對關鍵概念的一個很好的介紹。

一旦你有一個可行的設計,開始閱讀在MSDN雜誌的檔案(鏈接) “並發”主題的文章,特別是由傑夫·里希特寫的任何東西。 這些將給你在Windows和.NET特定的線程結構上的東西。 (Richter的“通過C#的CLR (Amazon) ”中的多線程部分很短,但非常有洞察力,值得推薦。)


我想我們也可以包含非.NET特定的並行處理方法,如果這些方法是最好的選擇。



有很多選擇,最好的解決方案將取決於你試圖解決的問題的性質。 如果你試圖解決一個尷尬的平行問題,那麼分工和平行的任務將是微不足道的。 在這種情況下,挑戰在於分配和管理所使用的數據。

一些建議是:







parallel-processing