ちょっとイメージと違ったのでメモ。
Parallelと言われるとマルチスレッドよろしく、複数処理の並行動作をイメージしているんだけど、WFのParallelはそういう非同期ではなかったのね。
検証するために上記のようなワークフローで試してみた。whileActivityでは単純に10回ループさせるようにし、各codeActivityではConsole.WriteLineしてみる。この場合、DelayActivityがなければ、
1→2→3→4 とか 2→1→4→3とか
こういった形で「シーケンシャル」に処理が実行された。図のように間にDelayを挿入して適当な時間待たせるようにすると、
1→2→4→3 とか 2→1→4→3とか
CodeActivity3の前に別Activityの処理が行われるようになった。こんな感じで
処理の順番が保障されない
という意味合いでのパラレルだった。
うーん、さすがにマルチスレッド動作を願ったのは高望だったなw
0 件のコメント:
コメントを投稿