2010-11-08 70 views
4

我希望foreach<T>活動中的每個序列在不同的線程中運行。這是可能的通過使用WWF 4.0?如果不是,我怎樣才能在WWF 4.0中實現多線程?Workflow 4.0中的多線程

回答

6

這取決於你在做什麼樣的工作。默認情況下,工作流調度程序將僅在當時執行工作流中的單個活動,而沒有辦法解決這個問題。並行活動同時安排多個子活動,但它們不會並行執行。

規則的最大例外是AsyncCodeActivity類型的活動。一旦他們做了一些異步的東西,調度器將執行另一個活動。現在,這對於數據庫訪問或網絡IO等IO綁定工作來說效果最好,但這不是必需的。

因此,要在您的工作流程中實現真正的並行性,您需要將一個並行活動與從AsyncCodeActivity派生的活動結合使用。

-1

要實現foreach的並行執行,請使用ParallelForEach

+0

ParallelForEach本身並不會給你真正的並行行爲,它只會一次安排多個活動。調度程序仍然只會執行單個活動,除非它們是異步活動。 – Maurice 2010-11-09 09:46:30

相關問題