首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> 關於.NET

WF 4.0 基礎篇(九):控制流活動 - Parallel、Pick、ParallelForEach

     編輯:關於.NET

前言

本文介紹 WF 4.0 進階控制流活動:Parallel 並行、Pick/PickBranch 事件觸發、ParallelForEach<T> 並行迴圈。

Parallel 並行容器

核心屬性

  • Branches:並行分支集合
  • CompletionCondition:Activity<bool>,為真時提前結束其他分支
  • Variables:容器內變數

結構

範例一:基本並行

分支 A:Delay 10s → 列印 "A";分支 B:Delay 15s → 列印 "B"。總耗時 15 秒證明並行。

工作流 結果

範例二:CompletionCondition

三分支:A(10s)、B(15s,設定變數 true)、C(20s)。CompletionCondition 綁定變數。B 完成後容器結束,C 的 "C2" 不會執行。

工作流 結果

Pick / PickBranch 觸發容器

運作機制

  • Pick.Branches:PickBranch 集合
  • PickBranch.Trigger:觸發條件活動(如 Delay)
  • PickBranch.Action:觸發後執行的活動
  • 只要有一個 Trigger 被觸發,其他分支不再執行

結構

範例

三分支 Trigger 分別為 15s、10s、20s。最快的 10s 分支觸發,執行其 Action(列印 B1、Delay 15s、列印 B2),其他分支不執行。

工作流 結果

ParallelForEach<T> 並行迴圈

核心屬性

  • Values:InArgument<IEnumerable<T>> 迴圈集合
  • Body:ActivityAction<T>,item 為迴圈變數
  • CompletionCondition:每次迴圈後檢查,為真則結束

結構 設計器

範例

集合 ["wxd", "lzm", "wxwinter"],Body 中 WriteLine(item)。三項目並行列印,順序不固定。

工作流 結果

原始碼下載

controlActivitySample2.rar

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved