Paraller.For()方法类似于C#的for循环语句,也是多次执行一个任务。使用Paraller.For()方法,可以并行运行迭代,迭代的顺序没有定义。

在For()方法中,前两个参数是固定的,

这两个参数定义了循环的开头和结束。首先描述它的第一个方法For(int,int,Action<int>),前面两个参数代表循环的开头和介绍,第三个参数是个委托,整数参数是循环的迭代次数,该参数被传递给委托引用的方法。Paraller.For()方法的返回类型是ParallelLoopResult结构,它提供了循环是否结束的信息和最低迭代的索引(返回一个表示从中调用 Break 语句的最低迭代的整数)。

其中ParallelOptions参考(https://msdn.microsoft.com/zh-cn/library/system.threading.tasks.paralleloptions.aspx)

先写个例子:

class ParallelFor
    {
        internal void ParaFor()
        {
            ParallelLoopResult result = Parallel.For(0, 10, new ParallelOptions() { MaxDegreeOfParallelism = 10 }, (i, ParallelLoopState) =>
            {
                mothedfor(i, ParallelLoopState);
            });

Console.WriteLine("是否完成:{0}", result.IsCompleted);
            Console.WriteLine("最低迭代:{0}", result.LowestBreakIteration);
            Console.ReadKey();
        }

private void mothedfor(int i,ParallelLoopState state)
        {
            Console.WriteLine("迭代次数:{0},任务ID:{1},线程ID:{2}", i, Task.CurrentId, Thread.CurrentThread.ManagedThreadId);
            Thread.Sleep(10);
            if (i ==5)
            {
                state.Break();
            }
        }
    }

Parallel的使用 之Parallel.for相关推荐

  1. 27.垃圾收集器(Serial收集器、ParNew收集器、Parallel收集器、Parallel Old 收集器、CMS收集器、G1收集器、常用的收集器组合)

    27.垃圾收集器 27.1.Serial收集器 27.2.ParNew收集器 27.3.Parallel收集器 27.4.Parallel Old 收集器 27.5.CMS收集器 27.6.G1收集器 ...

  2. java parallel.for作用_“Parallel.For”for Java?

    我想最接近的事情是: ExecutorService exec = Executors.newFixedThreadPool(SOME_NUM_OF_THREADS); try { for (fina ...

  3. Parallel的使用 之Parallel.forrech

    首先一般Foreach,Parallel.For,Parallel.Foreach三种情况的效率问题, 要知道的是:Parallel.Foreach性能最优,其次 Parallel.For  最后   ...

  4. [深入学习C#]C#实现多线程的方式:使用Parallel类

    简介 在C#中实现多线程的另一个方式是使用Parallel类.  在.NET4中 ,另一个新增的抽象线程是Parallel类 .这个类定义了并行的for和foreach的 静态方法.在为 for和 f ...

  5. C#并行开发_Thread/ThreadPool, Task/TaskFactory, Parallel

    大家好,本次讨论的是C#中的并行开发,给力吧,随着并行的概念深入,哥也赶上这个潮流了,其实之前讨论C#的异步调用或者C#中BeginInvoke或者Invoke都已经涉及了部分本篇的内容. 参考书目: ...

  6. oracle parallel 并行 设置 理解

    引子:以前一直没太关注oracle并行这个特性.前几天一个兄弟碰到的一个问题,才让我觉得这个东西还是有很多需要注意的地方,有必要仔细熟悉下.其实碰到的问题不复杂: 类似如下的一条语句:insert i ...

  7. C# 4.0 新特性之并行运算(Parallel)

    介绍 C# 4.0 的新特性之并行运算 Parallel.For - for 循环的并行运算 Parallel.ForEach - foreach 循环的并行运算 Parallel.Invoke - ...

  8. linux 并行计算命令,Linux下的并行神器——parallel

    GNU Parallel是一个shell工具,为了在一台或多台计算机上并行的执行计算任务.本文简要介绍GNU Parallel的使用. 1.parallel 用法简介 Usage: parallel ...

  9. Oracle Hint 之 Parallel

    强制启用oralce的多线程处理功能. 并行查询允许将一个sql select 语句划分为多个较小的查询,每个部分的查询并发的运行,然后将各个部分的结果组合起来,提供最终的结果,多用于全表扫描,索引全 ...

最新文章

  1. 【LeetCode】Palindrome Partitioning 解题报告
  2. PHP教程-防止网站被刷票的小技巧
  3. Core官方DI解析(2)-ServiceProvider
  4. C专家编程-Chapter6 运行时数据结构(转)
  5. python里面的import provide_Python importorror:没有名为wmi的模块
  6. win10如何关闭Windows Defender安全保护程序
  7. 【codevs3372】选学霸,并查集+可达性DP
  8. 计算机专业学硕复试未来规划,【图片】2020考研,老学长教你如何规划!【计算机考研吧】_百度贴吧...
  9. ueditor编辑器图片自定义存放目录及路径修改
  10. (Greedy approach)Find longest word in dictionary that is a subsequence of a given string
  11. C++算法之遗传算法及实现
  12. 雷达波形样式_?认知雷达的架构
  13. Nicholas C. Zakas:最佳职业生涯建议
  14. 2019年博客排名前十
  15. jdbc连接字符集为us7ascii的oracle数据库乱码解决办法
  16. 清华学霸用3年编写的Python学习清单共26章,学完托福雅思轻松拿
  17. Xilinx 黑金ZYNQ开发板AX7020,利用VIVADO进行FPGA程序烧录
  18. 社会化营销,微博如何老树发新芽?
  19. masonry ajax瀑布流,jquery.masonry瀑布流插件的4个使用步骤
  20. composer windows 下面内存溢出 Allowed memory size of 1610612736 bytes exhausted

热门文章

  1. 广义精确匹配-Coarsened Exact Matching (CEM)
  2. 关于声回波对消(回声消除)的一些个人的非严谨粗糙认识
  3. Arm 使用 Cortex-X2 CPU 挑战英特尔和 AMD 在笔记本电脑领域的领先地位
  4. 大牧絮叨设计模式:工厂方法模式
  5. 基于JAVA的出租车管理系统
  6. flutter_webview Ios端请求网页显示空白
  7. PHP之 将canvas生成的饼状图生成图片
  8. deepin美化,conky使用教程
  9. 国内外免费的建站程序汇总(收藏)
  10. ASUS华硕天选笔记本电脑FA506IV4900显卡2060原装出厂Windows10系统恢复原厂OEM系统