Parallel.ForEach 使用多线程遍历循环

Parallel.ForEach 使用多线程遍历循环原地址路径:https://www.cnblogs.com/personblog/archive/2019/10/09/11640801.htmlParallel.ForEach相对于foreach是多线程,并行操作;foreach是单线程循环操作。staticvoidMain(string[]args){Console.WriteLine(“HelloWorld!”);List<UserInfo>lst=n

大家好,又见面了,我是你们的朋友全栈君。

原地址路径:https://www.cnblogs.com/personblog/archive/2019/10/09/11640801.html

Parallel.ForEach相对于foreach是多线程,并行操作;foreach是单线程循环操作。

static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
            List<UserInfo> lst = new List<UserInfo> { };
            UserInfo[] array = new UserInfo[] {};
            for (int i = 1; i <= 10; i++)
            {
                lst.Add(new UserInfo { Age=new Random().Next(1,10),Id=Guid.NewGuid()});
            }
            foreach (var item in lst)
            {
                Console.WriteLine("循环更改前的值:"+item.Id+","+item.Age+","+item.Uname);
            }
            array = lst.ToArray();
            //注意Parallel.ForEach 里面传的是数组, MaxDegreeOfParallelism = Environment.ProcessorCount指的是系统有几个cpu就使用几个cpu
            ParallelLoopResult result = Parallel.ForEach(array, new ParallelOptions { MaxDegreeOfParallelism = Environment.ProcessorCount },item =>
            {
                item.Uname = "张" + item.Age;
              
            });
            foreach (var item in array)
            {
                Console.WriteLine("循环更改后的值:" + item.Id + "," + item.Age + "," + item.Uname);
            }
            Console.ReadKey();
        }
public class UserInfo
    {
        public Guid Id { get; set; }

        public Int32 Age { get; set; }

        public String Uname { get; set; }
    }
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/161824.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月19日 上午6:16
下一篇 2022年7月19日 上午6:16


相关推荐

  • LaTeX公式-Katex解析

    LaTeX公式-Katex解析概念在线测试工具 latex 公式 katex 前端展示 latex 数学公式效果概念以下来自百度百科 LaTeX 是一种基于 的排版系统 由美国计算机学家莱斯利 兰伯特 LeslieLampor 在 20 世纪 80 年代初期开发 利用这种格式 即使使用者没有排版和程序设计的知识也可以充分发挥由 TeX 所提供的强大功能 能在几天 甚至几小时内生成很多具有书籍质量的印刷品

    2026年3月19日
    2
  • 如何将excel表格导入mysql数据库_MySQL数据库

    如何将excel表格导入mysql数据库_MySQL数据库怎么把excel里的数据导入数据库中的表中打开企业管理器开要导入数数据库,在表上按右键,所务–>导入数据,弹出DTS导入/导出向导,按下一步,2、选择数据源MicrosoftExcel97-2000,文件名选择要导入的xls文件,按下一步,3、选择目的用于SQLServer的MicrosoftOLEDB提供程序,服务器选择本地(如果是本地数据库的话,如VVV…

    2026年2月9日
    6
  • JAVA设计模式初探之装饰者模式

    这个模式花费了挺长时间,开始有点难理解,其实就是定义:动态给一个对象添加一些额外的职责,就象在墙上刷油漆.使用Decorator模式相比用生成子类方式达到功能的扩充显得更为灵活。设计初衷:通常可以使用继承来实现功能的拓展,如果这些需要拓展的功能的种类很繁多,那么势必生成很多子类,增加系统的复杂性,同时,使用继承实现功能拓展,我们必须可预见这些拓展功能,这些功能是编译时就确定了,是静态的。…

    2022年3月11日
    38
  • 龙芯版UOS 自带浏览器无法使用flash在线播放视频

    龙芯版UOS 自带浏览器无法使用flash在线播放视频龙芯版UOS自带浏览器无法使用flash在线播放视频1.案例无法播放视频龙芯CPU使用MIPS指令集,用互联网的最新flash(一般情况下,是X86指令集flash),点击下载安装最新flash,会提示安装失败。2.解决办法a.打开命令界面(效果如下)b1.输入命令:sudoaptinstallfirefox-flashplayerb2.输入命令:输入密码3.完成后重新打开UOS自带浏览器,就可以轻松看视频。祝大家生活愉快!!!在此鸣谢:感谢龙芯大佬指导

    2022年6月6日
    42
  • 京东出新招:养数字“龙虾”送实体龙虾

    京东出新招:养数字“龙虾”送实体龙虾

    2026年3月13日
    2
  • Eclipse 添加 Tomcat Server 配置

    Eclipse 添加 Tomcat Server 配置以下步骤是将一个独立安装的(standalone)Tomcat整合到Eclipse中,方便在Eclipse发布Web工程到Tomcat服务器,启停WebServer调试程序。项目开发中不推荐使用Eclipse自带的WebServer,不便于运行调试,往往需要根据项目需求独立安装指定厂家和版本的Webserver。(项目部署参考–>Eclipse部署项目到Tomcat)…

    2025年7月30日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号