2012年1月18日 星期三

[轉貼]平行運算 vs 一般的多執行緒

.Net 2.0 以後就自動會將多緒分配到不同 CPU ,
本站先前就有文章討論如何限制只在某幾顆邏輯 CPU 上執行。

多緒跟平行不一樣的地方是多緒是多個工作,不同 CPU 執行,平行是同一工作不同 CPU 執行。
範例:
For i = 1 To 16
   b(i) = sin(a(i))
Next

迴圈是單一工作,所以會在同一工作緒執行,所以仍在同一顆邏輯 CPU 上執行。
經過平行處理的邏輯 (平行運算也需要邏輯上的配合) ,則可將這個迴圈拆到多個 CPU 上同時計算。

沒有留言:

張貼留言