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

C#For循环中的多线程是按for循环的顺序施行的吗

2013-10-19 
C#For循环中的多线程是按for循环的顺序执行的吗?本帖最后由 wjx515628 于 2013-10-18 14:33:11 编辑for (i

C#For循环中的多线程是按for循环的顺序执行的吗?
本帖最后由 wjx515628 于 2013-10-18 14:33:11 编辑

 for (int i = 0; i < 100; i++)
            { 
               Thread th = new Thread(new ParameterizedThreadStart(method));
                th.Start(i);
            }     
    
这样传进多线程的参数i,总是混乱的,感觉好像for中的线程执行不是按循环的顺序执行的。例如第一次循环时new的线程,可能在第二次循环后才执行,这样i的值就是1了,不是第一次循环时的0了。请教大神解决方法?            
[解决办法]
在th.Start(i);之后
加上Thread.Sleep(100);
[解决办法]
for (int i = 0; i < 100; i++)
            { 
              int temp = i;
               Thread th = new Thread(new ParameterizedThreadStart(method));
                th.Start(temp);
            }  

热点排行