当前位置: 移动技术网 > IT编程>开发语言>c# > Parallel.ForEach 使用多线遍历循环

Parallel.ForEach 使用多线遍历循环

2019年10月09日  | 移动技术网IT编程  | 我要评论
Parallel.ForEach相对于foreach是多线程,并行操作;foreach是单线程品德操作。 ...

  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; }
    }

 

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网