ParallelForEach<T> 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
컬렉션의 요소를 열거하고 컬렉션의 각 요소에 대해 포함 문을 병렬로 실행합니다.
generic <typename T>
public ref class ParallelForEach sealed : System::Activities::NativeActivity
[System.Windows.Markup.ContentProperty("Body")]
public sealed class ParallelForEach<T> : System.Activities.NativeActivity
[<System.Windows.Markup.ContentProperty("Body")>]
type ParallelForEach<'T> = class
inherit NativeActivity
Public NotInheritable Class ParallelForEach(Of T)
Inherits NativeActivity
형식 매개 변수
- T
Values 컬렉션에 제공되는 값의 형식입니다.
- 상속
- 특성
예제
다음 코드 샘플에서는 ParallelForEach<T> 활동을 만드는 방법을 보여 줍니다. 이 예제에서는 합니다 기업 구매 프로세스 샘플입니다.
// invite all vendors and wait for their proposals
new ParallelForEach<Vendor>
{
DisplayName = "Get vendor proposals",
Values = new InArgument<IEnumerable<Vendor>>(ctx =>this.Rfp.Get(ctx).InvitedVendors),
Body = new ActivityAction<Vendor>()
{
Argument = iterationVariableVendor,
Handler = new Sequence
{
Variables = { tmpValue },
Activities =
{
// waits for a vendor proposal (creates a bookmark for a vendor)
new WaitForVendorProposal
{
VendorId = new LambdaValue<int>(ctx =>iterationVariableVendor.Get(ctx).Id) ,
Result = new OutArgument<double>(tmpValue)
},
// after the vendor proposal is received, it is registered in the Request for Proposals
new InvokeMethod
{
TargetObject = new InArgument<RequestForProposal>(ctx =>this.Rfp.Get(ctx)),
MethodName = "RegisterProposal",
Parameters =
{
new InArgument<Vendor>(iterationVariableVendor),
new InArgument<double>(tmpValue)
}
},
}
}
}
},
설명
포함된 문은 함께 예약되고 비동기적으로 실행되지만 예약된 작업 자체가 비동기(예: 메시징 활동, InvokeMethod또는 에서 파생된 활동)가 아닌 경우 별도의 스레드에서 AsyncCodeActivity실행되지 않으므로 이전에 예약된 작업이 완료되거나 유휴 상태가 될 때만 각 연속 작업이 실행됩니다. 이 활동의 자식 활동이 비동기 또는 유휴 상태가 아니면 이 작업은 작업과 동일한 방식으로 ForEach<T> 실행됩니다.
생성자
ParallelForEach<T>() |
ParallelForEach<T> 클래스의 새 인스턴스를 만듭니다. |
속성
Body |
ActivityAction 컬렉션에 포함된 각 값에 대해 한 번 실행되는 Values입니다. |
CacheId |
워크플로 정의 범위 내에서 고유한 캐시의 식별자를 가져옵니다. (다음에서 상속됨 Activity) |
CanInduceIdle |
활동을 통해 워크플로가 유휴 상태가 될 수 있는지 여부를 나타내는 값을 가져오거나 설정합니다. (다음에서 상속됨 NativeActivity) |
CompletionCondition |
각 반복이 완료된 후 평가됩니다. |
Constraints |
Constraint에 대한 유효성 검사를 제공하도록 구성될 수 있는 Activity 작업의 컬렉션을 가져옵니다. (다음에서 상속됨 Activity) |
DisplayName |
디버깅, 유효성 검사, 예외 처리 및 추적에 사용되는 선택적 이름을 가져오거나 설정합니다. (다음에서 상속됨 Activity) |
Id |
워크플로 정의 범위에서 고유한 식별자를 가져옵니다. (다음에서 상속됨 Activity) |
Implementation |
작업의 실행 논리입니다. (다음에서 상속됨 NativeActivity) |
ImplementationVersion |
작업의 구현 버전을 가져오거나 설정합니다. (다음에서 상속됨 NativeActivity) |
Values |
Body에 포함된 활동의 각 반복에 대한 매개 변수로 사용되는 값의 컬렉션입니다. |
메서드
적용 대상
.NET