首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

没锁定的多线程运算,结果达不到预期的为什么了?说上和同步运算的区别

2012-12-16 
没锁定的多线程运算,结果达不到预期的为什么了?说下和同步运算的区别static void main(){int iiii20var

没锁定的多线程运算,结果达不到预期的为什么了?说下和同步运算的区别
static void main()
{
  int iiii=20;
  var myclass=new Myclass();
  var tasks=new Task(iiii);
  for(int i=0;i<iiii;i++)
  {
  tasks[i]=new Task(new Job(myclass).DoTheJob);
  tasks[i].Start();
  }
  for(int i=0;i<iiii;i++)
  {
  tasks[i].Wait();
  }
  Console.WriteLine(myclass.state);
}
Myclass 类包含了int型公共字段:state{get;set} 
DoTheJob()方法是:是循环50000次 每次 myclass.state+=1;

20个任务,每个执行 50000次,预期结果应该是 1000000..为什么结果各种都有了.. 求详解啊?

热点排行