ParallelActivity アクティビティの使用

ParallelActivity アクティビティには複数の SequenceActivity 子アクティビティが含まれます。SequenceActivity アクティビティだけが、ParallelActivity アクティビティの子になることができます。

ParallelActivity アクティビティでは、複数の子 SequenceActivity アクティビティ分岐を同時に処理するようスケジュールできます。複数の分岐 SequenceActivity アクティビティの処理は、同時に開始するようスケジュールされますが、それらが実際に同時に開始されるわけではありません。処理が開始されると、まず、いずれかの SequenceActivity 分岐に含まれるいずれかのアクティビティが実行されます。そのアクティビティが完了すると、別の分岐に含まれるシーケンス内の次のアクティビティが実行され、次々に手順が実行されます。一度に実行されるアクティビティの数は 1 つで、複数の SequenceActivity 分岐の間でアクティビティ実行が切り替えられながら、最終的にすべての SequenceActivity 分岐の実行が完了します。この時点で ParallelActivity アクティビティの処理が完了します。ParallelActivity では、複数の SequenceActivity 分岐の間の厳密な実行順序は保証されません。

ブロックされた DelayActivity アクティビティのようなアクティビティが SequenceActivity 分岐に含まれる場合でも、実行を停止して、アクティビティのブロック解除を待つことはありません。その代わり、次の SequenceActivity 分岐のシーケンスに含まれる次のアクティビティが実行されます。

複数の子 SequenceActivity 分岐は同時に処理されますが、分岐のアクティビティは実際に同時に実行されるわけではありません。Windows Workflow Foundation ランタイムは、各ワークフロー インスタンスごとに 1 つのスレッドを使用します。ParallelActivity アクティビティ内の別個の分岐はすべて、同じ単一のワークフロー インスタンス スレッドを共有します。したがって、一度に実行されるのは、1 つの分岐の 1 つのアクティビティだけです。

詳細については、『Windows Workflow Foundation クラス ライブラリ リファレンス』の System.Workflow.Activities 名前空間にある ParallelActivity クラスを参照してください。

アクティビティの使用方法を示すコード サンプルは、「Using While and Parallel」を参照してください。

関連項目

参照

ParallelActivity
SequenceActivity

概念

SequenceActivity アクティビティの使用

その他の技術情報

While and Parallel Sample
Windows Workflow Foundation アクティビティ

Footer image

Copyright © 2007 by Microsoft Corporation.All rights reserved.