首页 新闻 会员 周边 捐助

.net牛人进呀。。。

0
悬赏园豆:5 [已解决问题] 解决于 2013-01-28 22:50

for (int i = 1; i < 100; i++)
            {

int z = i;
                ThreadPool.QueueUserWorkItem((o) =>
                {
                    Thread.Sleep(1000);
                    Console.Write(z.ToString()); 
                    Console.Write(Environment.NewLine); 
                });
            }

 

for (int i = 1; i < 100; i++)
            {

                ThreadPool.QueueUserWorkItem((o) =>
                {

                    int z = i;
                    Thread.Sleep(1000);
                    Console.Write(z.ToString()); 
                    Console.Write(Environment.NewLine); 
                });

这两段代码有什么区别????
            }

彬彬@科比的主页 彬彬@科比 | 初学一级 | 园豆:43
提问于:2013-01-16 23:48
< >
分享
最佳答案
0

第二段代码打印的也不完全是100,我第一次演示第一个打印的是1,然后其他的是100,第二次运行全是100!

收获园豆:5
Cosmic_Spy | 初学一级 |园豆:191 | 2013-01-18 14:15
其他回答(2)
0

第二段代码会打印出99个100.    第一个会基本乱序打出 1到99。   看看closure 就会知道了。

gunsmoke | 园豆:3592 (老鸟四级) | 2013-01-17 04:33

有什么不同??为什么?

支持(0) 反对(0) 彬彬@科比 | 园豆:43 (初学一级) | 2013-01-18 22:14
0

楼主你的问题都问了有2遍了啊,上次,有详细的回复了啊

chenping2008 | 园豆:9836 (大侠五级) | 2013-01-17 09:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册