“同步”示例

Download sample

此示例演示如何创作同步执行活动组的工作流。 举例来说,这对于同步访问共享资源特别有用。

同步数据访问是具有并行执行路径的复合活动(比如 ParallelActivityReplicatorActivityConditionedActivityGroup)的一个重要考虑因素。

在此示例中,工作流具有包含两个分支的 ParallelActivity。 每个分支都包含 SynchronizationScopeActivity 活动。 每个分支中的两个 CodeActivity 活动会尝试增加或减少工作流实例计数。 一个代码分支增加 (count++),而另一个代码分支则减少 (count--)。

两个 SynchronizedScope 实例将同步,因为这两个实例在他们的 SynchronizationHandles 属性“syncMutex”中共用一个公共值。这样可确保:一旦第一个 SynchronizedScope 活动开始执行,将允许该活动完成,然后另一个 SynchronizedScope 才能开始。 尽管这将不会更改此简单示例中“count”(计数)字段的最终值,但确实会对中间值产生影响。 若要查看不进行同步的行为,请更改其中一个 SynchronizedScopes 上的 SynchronizationHandles 属性的值,以使两个 SynchronizedScopes 不再同步。

生成并运行该示例后,输出结果将类似下面所示:

“同步”示例输出

生成示例

  1. 通过单击本主题中的**“下载示例”**来下载该示例。

    这会将示例项目提取到本地硬盘。

  2. 单击**“开始”,依次指向“程序”“Microsoft Windows SDK”,然后单击“CMD 外壳”[CMD Shell]**。

  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

版权所有 (C) 2007 Microsoft Corporation。保留所有权利。