2013-04-25 3 views
4

PLINQ 메서드 AsParallel()을 사용하여이 Parallel.For 루프를 다시 작성하고 싶습니다. AsParallel()은 Array A를 생성 한 다음 A.AsParallel(), ForAll 또는 A.AsParallel()을 호출하여 전체 시퀀스를 전달해야합니다. AsParallel()이 범위에서 작동하도록하는 방법이 있습니까?이 경우 낮은 곳에서 높은 곳으로?범위에서 PLINQ AsParallel() 사용

for k = 2 to m+n do 
    let low = max 1 (k-m) 
    let high = min (k-1) n 
    Parallel.For(low, high + 1, (fun j -> 

답변

1

당신은 요소 수를 건너 ParallelEnumerable.Skip.Take을 사용할 수 있습니다, 다음 본질적으로 범위를 조회 할 수있는 특정 번호를 가지고.

이 사용하는 것이 작업을 수행하는 A.AsParallel().Skip(low).Take(high-low+1).Select(...