.


:




:

































 

 

 

 


Using System.Threading.Tasks;. class DemoParallelForWithLoopResult { static int[] data;




class DemoParallelForWithLoopResult { static int[] data;

// , .

// v // , .

static void DisplayData(int v, ParallelLoopState pis) {

// , if (v < 0) pls.Break();

Console.WriteLine(": " + v);

static void Main() {

Console.WriteLine(" ."); data = new int[100000000];

// .

for (int i=0; i < data.Length; i++) data[i] = i;

// data, data[100000] = -10;

// , ForEachO,

// .

ParallelLoopResult loopResult = Parallel.ForEach(data, DisplayData);

// , , if(!loopResult.IsCompleted)

Console.WriteLine(" - , " +

" \" +

" " +

loopResult.LowestBreaklteration + ".\n");

Console.WriteLine(" .");

}

}

, "" . . - "" , ForEach ().

// , ForEachO,

// .

ParallelLoopResult loopResult =

Parallel.ForEach(data, (v, pis) => {

Console.WriteLine(": " + v); if (v < 0) pis.Break ();

});

PLINQ

PLINQ LINQ TPL. PLINQ , , . , . TPL, PLINQ , .

ParallelEnumerable

PLINQ ParallelEnumerable, System. Linq. , , . , LINQ Enumerable. ParallelQuery, ParallelQuery. ParallelQuery , . , . ParallelQuery , ParallelEnumerable. , As Parallel (), .

AsParallel ()

PLINQ . AsParallel () . AsParallel () ParallelEnumerable , ParallelQuery. . , . ( , , , .) , AsParallel () , LINQ LINQ. .

, AsParallel (). :

public static ParallelQuery AsParallel(this IEnumerable source) public static ParallelQuery<TSource>

AsParallel<TSource>(this IEnumerable<TSource> source)





:


: 2016-12-03; !; : 348 |


:

:

, .
==> ...

1498 - | 1335 -


© 2015-2024 lektsii.org - -

: 0.009 .