1. 程式人生 > 其它 >工作流控制模式-高階分支和同步模式14種

工作流控制模式-高階分支和同步模式14種

高階分支和同步模式使得各個工作流產品在技術水平上拉開檔次,技術上實現比較複雜。高 級分支、同步模式共有14種,如圖A-8所示。

圖 A-8 高階分支和同步模式

  1. 多選擇:分支分裂為兩個或多個後續分支,當分支執行完畢後會選擇觸發後續分支的一 個或多個同時執行,M選N。
  2. 結構化同步合併:兩個或多個分支合併為一個後續分支,只有當所有被實際觸發的分支 都執行完畢後才會觸發後續分支的執行。
  3. 多合併:兩個或多個分支合併為一個後續分支,每個實際觸發的分支執行完畢後都會觸 發後續分支的執行。
  4. 結構化鑑別器:兩個或多個分支合併為一個後續分支,第一個執行完畢的分支觸發後續 分支的執行,其他分支繼續執行,但是被忽略,執行完畢後不再觸發後續分支。
  5. 阻塞鑑別器:兩個或多個分支合併為一個後續分支,第一個執行完畢的分支觸發後續分 支的執行,其他分支繼續執行,但是被忽略,執行完畢後不再觸發後續分支。如果分支 有多個執行執行緒,那麼在第一個執行執行緒被合併之前,後續執行緒被阻塞。
  6. 取消鑑別器:兩個或多個分支合併為一個後續分支,第一個執行完畢的分支觸發後續分 支的執行,其他分支取消執行。
  7. 結構化部分合並:兩個或多個分支合併為一個後續分支,假設流程例項中實際觸發的分 支為M個,第N個實際觸發的分支執行完畢後觸發後續分支的執行,N < M,其他分支繼 續執行,但是被忽略,執行完畢後不再觸發後續分支。
  8. 阻塞部分合並:兩個或多個分支合併為一個後續分支,第N個實際觸發的分支執行完畢後 觸發後續分支的執行,其他分支繼續執行,但是被忽略,執行完畢後不再觸發後續分支。 如果分支有多個執行執行緒,那麼在第一個執行執行緒被合併之前,後續執行緒被阻塞。
  9. 取消部分合並:兩個或多個分支合併為一個後續分支,第N個實際觸發的分支執行完畢後 觸發後續分支的執行,其他分支取消執行。
  10. 泛化同步:同步模式的泛化,兩個或多個分支合併為一個後續分支,等待所有分支都執 行完畢後,後續分支才會觸發,支援多個分支執行執行緒的同時合併。
  11. 本地同步合併:兩個或多個分支合併為一個後續分支,該模式基於本地資料來決定需要 同步的分支以及時機。
  12. 通用同步合併:兩個或多個分支合併為一個後續分支,當所有被實際觸發的分支都執行 完畢並且未來也不會再被觸發後才會觸發後續分支的執行。與結構化同步合併的區別在 於沒有前提條件:不需要結構化建模,也不需要執行執行緒安全。
  13. 多執行緒合併:在流程的一個特定點,將一個分支的多個執行執行緒合併為一個執行執行緒。 合併執行緒的數量在定義期確定。
  14. 多執行緒分裂:在流程的一個特定點,為一個分支初始化多個執行執行緒。執行執行緒的數量 在定義期確定。
本文來源:http://www.cnblogs.com/x3d/,轉載請註明。