Parallel.ForEach与foreach相比的优势怎么体现[通俗易懂]

Parallel.ForEach与foreach相比的优势怎么体现[通俗易懂]为什么80%的码农都做不了架构师?>>>…

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

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    public class People
    {
        private int id;

        public int Id
        {
            get { return id; }
            set { id = value; }
        }
        private string name;

        public string Name
        {
            get { return name; }
            set { name = value; }
        }
        private int age;

        public int Age
        {
            get { return age; }
            set { age = value; }
        }
        private Byte sex;

        public Byte Sex
        {
            get { return sex; }
            set { sex = value; }
        }
        private string school;

        public string School
        {
            get { return school; }
            set { school = value; }
        }

    }
    class Program
    {
        static void Main(string[] args)
        {
            List<People> pd = new List<People>();
            for(int i = 0; i < 72000; i++)
            {
                People people = new People();
                people.Id = i;
                people.Sex = 1;
                if(i<36000){
                    people.Age = 23;
                    people.Name= "MJ" + i;
                    people.School="NC";
                }else
                {
                    people.Name= "KD" + i;
                    people.Age = 24;
                    people.School="UCLA";
                }
                pd.Add(people);
            }

            System.DateTime currentTime0 = System.DateTime.Now;
            foreach (People p in pd)
            {
                p.Id += 1;
                p.Name = "aaa";
                p.Age = 40;
                p.Sex = 1;
                Console.WriteLine(p.Id + ", " + p.Name + ", " + p.School);
            }
            System.DateTime currentTime1 = System.DateTime.Now;
            Parallel.ForEach(pd, p =>
            {
                p.Id += 1;
                p.Name = "bbb";
                p.Age = 35;
                p.Sex =0;
                Console.WriteLine(p.Id + ", " + p.Name + ", " + p.School);
            });
            System.DateTime currentTime2 = System.DateTime.Now;

            Console.WriteLine(currentTime0.ToString() + " " + currentTime0.Millisecond.ToString());
            Console.WriteLine(currentTime1.ToString() + " " + currentTime1.Millisecond.ToString());
            Console.WriteLine(currentTime2.ToString() + " " + currentTime2.Millisecond.ToString());
            Console.ReadKey();
        }
    }
}

输出过程中,明显看到第二个循环比第一个快了很多很多,但是看最后的时间差却失望了:

2014/08/29 15:37:50 401

2014/08/29 15:37:59 246

2014/08/29 15:38:08 185

 

 

转载于:https://my.oschina.net/mj23/blog/308043

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/161809.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • python中griddata的外插值_python中griddata的外插值_griddata二维插值

    python中griddata的外插值_python中griddata的外插值_griddata二维插值”””SimpleN-Dinterpolation..versionadded::0.9″””##Copyright(C)PauliVirtanen,2010.##DistributedunderthesameBSDlicenseasScipy.###Note:thisfileshouldberunthroughtheMakotemplateeng…

  • GridLayout上动态添加控件「建议收藏」

    GridLayout上动态添加控件「建议收藏」Android上GridLayout和java上的感觉差不多,但是在添加布局内部添加控件就不是那么容易了。 grid=(GridLayout)findViewById(R.id.grid);//获取GridLayout控件 intcount=1; for(inti=0;i<6;i++) for(intj=0;j<5;j++){ System.out.pri

  • eplan激活码破解步骤【2021.7最新】

    (eplan激活码破解步骤)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.html…

  • hashmap面试题简书_java面试问答题

    hashmap面试题简书_java面试问答题JAVA中的HashMap面试题整理JDK1.7版本,HashMap的数据结构是什么?数组+单向链表什么叫做Hash桶数组中的单向链表HashMap的数组长度为什么必须是2的幂?计算元素存在数组中下标的算法:hash值&数组长度-1如果数组长度不是2的幂,减1后二进制的某一位有可能出现0,导致数组某个位置永远存不到数据HashMap的默认负载因子是多少,作用是什么?默认负载因子是0.75作用:数组长度*负载因子=阈值(扩容条件)HashMap的默认负载因子为什么是0.75

  • solidworks第三方插件_django queryset合并

    solidworks第三方插件_django queryset合并前言mixins翻译成中文是混入,组件的意思。在DRF中,针对获取列表,检索,创建等操作,都有相应的mixin,一般我们自定义创建的类视图都会继承自GenericAPIView和Mixins一起使用

  • hibernate和hibernation_unique sql

    hibernate和hibernation_unique sql Useruser=(Users)query.uniqueResult();//如果有多个值抛错;//如果有值且只有一个,返回一个object;//如果没值,返回null

发表回复

您的电子邮箱地址不会被公开。

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