다음을 통해 공유


Synchronized 샘플

Download sample

이 샘플에서는 활동 그룹의 실행을 동기화하는 워크플로를 작성하는 방법을 보여 줍니다. 이 기능은 공유 리소스 액세스 동기화와 같은 경우에 유용합니다.

동기화된 데이터 액세스는 ParallelActivity, ReplicatorActivityConditionedActivityGroup와 같이 병렬 실행 경로가 있는 복합 활동의 경우 고려해야 할 중요한 기능입니다.

이 샘플의 워크플로에는 분기 두 개가 포함된 ParallelActivity가 있습니다. 각 분기는 SynchronizationScopeActivity 활동을 포함합니다. 각 분기에 포함된 두 개의 CodeActivity 활동이 워크플로 인스턴스 수를 증감합니다. 즉, 한 코드 분기는 증가시키고(count++) 다른 코드 분기는 감소시킵니다(count--).

두 SynchronizedScope 인스턴스의 SynchronizationHandles 속성 "syncMutex"의 값이 동일하므로 이 두 인스턴스가 동기화됩니다. 이렇게 되면 첫 번째 SynchronizedScope 활동이 실행되기 시작하면 다른 SynchronizedScope의 실행이 시작되기 전에 완료될 수 있습니다. 이 간단한 예제에서는 이러한 동기화의 결과로 "개수" 필드의 최종 값이 바뀌지 않지만 중간 값에는 영향이 있습니다. 동기화가 없을 경우의 동작을 보려면 두 SynchronizedScope가 동기화되지 않도록 SynchronizedScope 중 하나에서 SynchronizationHandles 속성의 값을 변경합니다.

샘플을 빌드하고 실행하면 다음과 같이 출력됩니다.

Synchronized 샘플의 출력

이 샘플을 빌드하려면

  1. 이 항목에서 샘플 다운로드를 클릭하여 샘플을 다운로드합니다.

    이렇게 하면 샘플 프로젝트가 로컬 하드 디스크에 추출됩니다.

  2. 시작을 클릭하고 프로그램, Microsoft Windows SDK를 차례로 가리킨 다음 CMD 셸을 클릭합니다.

  3. 샘플의 소스 디렉터리로 이동합니다.

  4. 명령 프롬프트에서 **MSBUILD <Solution file name>**을 입력합니다.

이 샘플을 실행하려면

  • SDK 명령 프롬프트 창에서 샘플의 주 폴더 아래에 있는 Synchronized\bin\debug 폴더 또는 Synchronized\bin 폴더(VB 버전의 샘플의 경우)의 .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.