다음을 통해 공유


ParallelForEach 활동 디자이너 사용

ParallelForEach<T> 활동은 컬렉션의 요소를 열거하고 컬렉션의 각 요소에 대해 포함 문을 병렬로 실행합니다. 각 요소는 동일 스레드에서 비동기적입니다. Sequence 활동의 자식 활동이 유휴 상태가 되는 경우 이 활동 대신 이 흐름 제어 활동을 사용합니다.

ParallelForEach<T> 활동에는 사용자가 지정한 Visual Basic 식을 포함하는 CompletionCondition 속성이 있습니다. ParallelForEach<T> 활동은 각 분기가 완료된 후 이 속성을 평가합니다. true로 평가되면 다른 분기를 실행하지 않고 ParallelForEach<T> 활동이 완료됩니다. CompletionConditiontrue로 평가되지 않는 경우 자식 활동이 모두 완료되어야 ParallelForEach<T> 활동이 완료됩니다.

ParallelForEach<T> 활동

ParallelForEach<T>은 값을 열거하고 열거되는 모든 값에 대해 Body를 예약합니다. Body만 예약합니다. Body가 유휴 상태로 전환되는지 여부에 따라 본문의 실행 방법이 달라집니다.

Body가 유휴 상태로 전환되지 않는 경우에는 예약된 활동이 스택으로 처리되기 때문에 역순으로 실행됩니다. 즉, 마지막으로 예약된 활동이 가장 먼저 실행됩니다. 예를 들어 ParallelForEach<T>에 {1,2,3,4}의 컬렉션이 있고 WriteLine을 본문으로 사용하여 값을 작성하는 경우, 콘솔에 4, 3, 2, 1이 출력됩니다. WriteLine이 유휴 상태로 전환되지 않으므로 4 WriteLine 활동을 예약한 후 스택 동작을 사용하여 실행하기 때문입니다. 즉, 처음 예약한 활동이 마지막에 실행됩니다.

Body에 유휴 상태로 전환될 수 있는 활동(예: Receive 활동 또는 Delay 활동)이 있는 경우에는 활동이 완료될 때까지 기다릴 필요가 없습니다. ParallelForEach<T>은 예약된 다음 본문 활동으로 이동하여 해당 활동을 실행합니다. 이 활동도 유휴 상태가 될 경우 ParallelForEach<T>은 다시 다음 본문 활동으로 넘어갑니다.

ParallelForEach<T> 활동 디자이너 사용

도구 상자제어 흐름 범주에서 ParallelForEach<T> 활동 디자이너에 액세스합니다.

도구 상자에서 ParallelForEach<T> 활동 디자이너를 끌어와서 Sequence 활동 디자이너 내부 등 활동 디자이너가 일반적으로 배치되는 워크플로 디자이너 화면 아무 곳에나 끌어 놓을 수 있습니다. 워크플로 디자이너로 활동 디자이너를 끌어 놓으면 ParallelForEach<T> 활동이 생성됩니다. 기본적으로 이 활동에는 ParallelForEach<Int32>DisplayName이 포함되어 있습니다.

워크플로 디자이너의 ParallelForEach<T> 속성

다음 표에서는 가장 유용한 ParallelForEach<T> 활동 속성을 보여 주고 디자이너에서 이러한 속성을 사용하는 방법을 설명합니다.

속성 이름 필수 사용량
DisplayName False 머리글에 활동 디자이너의 표시 이름을 지정합니다. 기본값은 ParallelForEach<Int32>입니다. 값은 속성 표에서 선택적으로 편집하거나 활동 디자이너 머리글에서 직접 편집할 수 있습니다.
Body False 컬렉션의 각 항목에 대해 실행할 활동입니다. Body 활동을 추가하려면 도구 상자의 활동을 “여기에 작업 놓기” 힌트 텍스트가 있는 ParallelForEach<T> 활동 디자이너의 본문 상자로 끌어 놓습니다.
TypeArgument True 제네릭 매개 변수 T로 지정된 Values 컬렉션의 항목 형식입니다. 기본적으로 TypeArgumentInt32로 설정됩니다. ParallelForEach<T> 활동 디자이너에서 형식 T를 변경하려면 속성 표에서 TypeArgument 콤보 상자의 값을 변경합니다.
Values True 반복할 항목의 컬렉션입니다. Values를 설정하려면 ForEach<T> 활동 디자이너의 상자에서 “VB 식 입력” 힌트 텍스트가 있는 상자나 속성 창의 상자에 Visual Basic 식을 입력합니다.
CompletionCondition 각 반복이 완료된 후 평가됩니다. true이면 예약된 보류 중인 반복이 취소됩니다. 이 속성을 설정하지 않으면 예약된 모든 문이 완료될 때까지 실행됩니다.

루프 반복기는 기본적으로 이름이 지정된 항목입니다. ParallelForEach<T> 활동 디자이너의 ForEach 상자에서 반복기 변수의 이름을 변경할 수 있습니다. 루프 반복기는 ParallelForEach<T> 활동의 자식에 포함된 식에서 사용할 수 있습니다.

참고 항목