当前位置: 首页>>代码示例>>C#>>正文


C# ParallelLoopState类代码示例

本文整理汇总了C#中System.Threading.Tasks.ParallelLoopState的典型用法代码示例。如果您正苦于以下问题:C# ParallelLoopState类的具体用法?C# ParallelLoopState怎么用?C# ParallelLoopState使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


ParallelLoopState类属于System.Threading.Tasks命名空间,在下文中一共展示了ParallelLoopState类的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Main

//引入命名空间
using System;
using System.Threading;
using System.Threading.Tasks;

public class Example
{
   public static void Main()
   {
      var rnd = new Random();
      int breakIndex = rnd.Next(1, 11);
      Nullable<long> lowest = new Nullable<long>();

      Console.WriteLine("Will call Break at iteration {0}\n",
                        breakIndex);

      var result = Parallel.For(1, 101, (i, state) => {
                                            Console.WriteLine("Beginning iteration {0}", i);
                                            int delay;
                                            Monitor.Enter(rnd);
                                               delay = rnd.Next(1, 1001);
                                            Monitor.Exit(rnd);
                                            Thread.Sleep(delay);
                                            
                                            if (state.ShouldExitCurrentIteration) {
                                               if (state.LowestBreakIteration < i)
                                                  return;
                                            }

                                            if (i == breakIndex) {
                                               Console.WriteLine("Break in iteration {0}", i);
                                               state.Break();
                                               if (state.LowestBreakIteration.HasValue)
                                                  if (lowest < state.LowestBreakIteration)
                                                     lowest = state.LowestBreakIteration;
                                                  else
                                                     lowest = state.LowestBreakIteration;
                                            }

                                            Console.WriteLine("Completed iteration {0}", i);
                                       });
         if (lowest.HasValue)
            Console.WriteLine("\nLowest Break Iteration: {0}", lowest);
         else
            Console.WriteLine("\nNo lowest break iteration.");
   }
}
开发者ID:.NET开发者,项目名称:System.Threading.Tasks,代码行数:47,代码来源:ParallelLoopState

输出:

Will call Break at iteration 8

Beginning iteration 1
Beginning iteration 13
Beginning iteration 97
Beginning iteration 25
Beginning iteration 49
Beginning iteration 37
Beginning iteration 85
Beginning iteration 73
Beginning iteration 61
Completed iteration 85
Beginning iteration 86
Completed iteration 61
Beginning iteration 62
Completed iteration 86
Beginning iteration 87
Completed iteration 37
Beginning iteration 38
Completed iteration 38
Beginning iteration 39
Completed iteration 25
Beginning iteration 26
Completed iteration 26
Beginning iteration 27
Completed iteration 73
Beginning iteration 74
Completed iteration 62
Beginning iteration 63
Completed iteration 39
Beginning iteration 40
Completed iteration 40
Beginning iteration 41
Completed iteration 13
Beginning iteration 14
Completed iteration 1
Beginning iteration 2
Completed iteration 97
Beginning iteration 98
Completed iteration 49
Beginning iteration 50
Completed iteration 87
Completed iteration 27
Beginning iteration 28
Completed iteration 50
Beginning iteration 51
Beginning iteration 88
Completed iteration 14
Beginning iteration 15
Completed iteration 15
Completed iteration 2
Beginning iteration 3
Beginning iteration 16
Completed iteration 63
Beginning iteration 64
Completed iteration 74
Beginning iteration 75
Completed iteration 41
Beginning iteration 42
Completed iteration 28
Beginning iteration 29
Completed iteration 29
Beginning iteration 30
Completed iteration 98
Beginning iteration 99
Completed iteration 64
Beginning iteration 65
Completed iteration 42
Beginning iteration 43
Completed iteration 88
Beginning iteration 89
Completed iteration 51
Beginning iteration 52
Completed iteration 16
Beginning iteration 17
Completed iteration 43
Beginning iteration 44
Completed iteration 44
Beginning iteration 45
Completed iteration 99
Beginning iteration 4
Completed iteration 3
Beginning iteration 8
Completed iteration 4
Beginning iteration 5
Completed iteration 52
Beginning iteration 53
Completed iteration 75
Beginning iteration 76
Completed iteration 76
Beginning iteration 77
Completed iteration 65
Beginning iteration 66
Completed iteration 5
Beginning iteration 6
Completed iteration 89
Beginning iteration 90
Completed iteration 30
Beginning iteration 31
Break in iteration 8
Completed iteration 8
Completed iteration 6
Beginning iteration 7
Completed iteration 7

Lowest Break Iteration: 8


注:本文中的System.Threading.Tasks.ParallelLoopState类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。