Freigeben über


Synchronisierungsbeispiel

Download sample

Dieses Beispiel veranschaulicht die Erstellung eines Workflows, mit dem die Ausführung von Aktivitätsgruppen synchronisiert wird. Dies ist beispielsweise zum Synchronisieren des Zugriffs auf eine gemeinsam verwendete Ressource nützlich.

Der synchronisierte Datenzugriff ist ein wichtiger Aspekt zusammengesetzter Aktivitäten, wie zum Beispiel ParallelActivity, ReplicatorActivity und ConditionedActivityGroup, die über parallele Ausführungspfade verfügen.

In diesem Beispiel verfügt der Workflow über eine ParallelActivity mit zwei Verzweigungen. Jede Verzweigung enthält eine SynchronizationScopeActivity-Aktivität. Zwei CodeActivity-Aktivitäten in jeder Verzweigung versuchen, eine Workflowinstanzzählung zu erhöhen oder zu verringern. Die eine Codeverzweigung (count++) erhöht, während die andere Codeverzweigung (count--) verringert.

Die beiden SynchronizedScope-Instanzen werden synchronisiert, da sie in der SynchronizationHandles-Eigenschaft über einen gemeinsamen Wert verfügen, "syncMutex". Hierdurch wird sichergestellt, dass die erste SynchronizedScope-Aktivität, sobald sie gestartet wurde, zunächst beendet wird, bevor die andere SynchronizedScope-Aktivität beginnen kann. Obwohl dies nicht zu einer Änderung des endgültigen Werts im Feld "count" für dieses einfache Beispiel führt, hat dies trotzdem Auswirkungen auf die temporären Werte. Um das Verhalten ohne Synchronisierung zu beobachten, ändern Sie den Wert der SynchronizationHandles-Eigenschaft für einen der SynchronizedScopes, sodass die beiden SynchronizedScopes nicht mehr synchronisiert sind.

Wenn Sie das Beispiel erstellen und ausführen, erhalten Sie eine Ausgabe ähnlich der folgenden:

Ausgabe des Synchronisierungsbeispiels

So erstellen Sie das Beispiel

  1. Laden Sie das Beispiel herunter, indem Sie in diesem Thema auf Beispiel downloaden klicken.

    Hierdurch wird das Beispielprojekt auf die lokale Festplatte extrahiert.

  2. Klicken Sie auf Start, zeigen Sie auf Programme, zeigen Sie auf Microsoft Windows SDK, und klicken Sie dann auf CMD Shell.

  3. Wechseln Sie zum Quellverzeichnis des Beispiels.

  4. Geben Sie an der Eingabeaufforderung MSBUILD <Name der Projektmappendatei> ein.

So führen Sie das Beispiel aus

  • Führen Sie im Eingabeaufforderungsfenster des SDKs die EXE-Datei im Ordner Synchronized\bin\debug aus (bzw. im Ordner Synchronized\bin für die VB-Version des Beispiels), der sich unter dem Hauptordner des Beispiels befindet.

Siehe auch

Referenz

ParallelActivity
ReplicatorActivity
ConditionedActivityGroup
SynchronizationScopeActivity

Weitere Ressourcen

Using the ParallelActivity Activity
Using the ReplicatorActivity Activity
Using the ConditionedActivityGroup Activity
Using the SynchronizationScopeActivity Activity
Beispiele für Aktivitäten
Windows Workflow Foundation-Beispiele

Footer image

Copyright © 2007 by Microsoft Corporation. Alle Rechte vorbehalten.