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; } }
您可能感兴趣的文章:
如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!
网友评论