次の方法で共有


同期されたサンプル

Download sample

このサンプルは、アクティビティ グループの実行を同期するワークフローの作成方法を示します。これは、共有リソースへのアクセスを同期する場合などに役立ちます。

データ アクセスを同期することは、並列実行パスを持つ ParallelActivityReplicatorActivity、および ConditionedActivityGroup などの複合アクティビティにとって重要な考慮事項です。

このサンプルのワークフローには、2 つの分岐を持つ ParallelActivity があります。各分岐には、SynchronizationScopeActivity アクティビティが含まれます。各分岐の 2 つの CodeActivity アクティビティは、ワークフロー インスタンス カウントのインクリメントおよびデクリメントを試行します。一方のコード分岐がインクリメント (count++) を、もう一方のコード分岐がデクリメント (count--) を行います。

2 つの SynchronizedScope インスタンスは SynchronizationHandles プロパティ "syncMutex" の値を共有するため、これらは同期されます。これにより、最初の SynchronizedScope アクティビティの実行が開始された後は、その完了後でない限り、もう一方の SynchronizedScope は開始されません。これによってこの単純な例の "count" フィールドの最後の値が変更されることはありませんが、中間の値は影響を受けます。同期しない場合の動作を確認するには、いずれかの SynchronizedScope の SynchronizationHandles プロパティの値を変更し、2 つの SynchronizedScope が同期されないようにします。

サンプルをビルドおよび実行すると、次のような出力が表示されます。

同期化のサンプル出力

サンプルをビルドするには

  1. このトピックの [サンプルのダウンロード] をクリックしてサンプルをダウンロードします。

    これにより、サンプル プロジェクトがローカルのハード ディスクに抽出されます。

  2. [スタート] をクリックし、[すべてのプログラム] をポイントします。次に、[Microsoft Windows SDK] をポイントし、[CMD シェル] をクリックします。

  3. サンプルのソース ディレクトリに移動します。

  4. コマンド プロンプトで、「MSBUILD <ソリューション ファイル名>」と入力します。

サンプルを実行するには

  • [SDK コマンド プロンプト] ウィンドウで、Synchronized\bin\debug フォルダ (このサンプルの VB のバージョンでは、Synchronized\bin フォルダ) にある .exe ファイルを実行します (このサンプルでは、メイン フォルダの下にあります)。

関連項目

参照

ParallelActivity
ReplicatorActivity
ConditionedActivityGroup
SynchronizationScopeActivity

その他の技術情報

Using the ParallelActivity Activity
Using the ReplicatorActivity Activity
Using the ConditionedActivityGroup Activity
Using the SynchronizationScopeActivity Activity
アクティビティのサンプル
Windows Workflow Foundation のサンプル

Footer image

Copyright © 2007 by Microsoft Corporation.All rights reserved.