.net牛人进呀。。。
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); });
这两段代码有什么区别???? }
4回答
-
九州编程
第二段代码打印的也不完全是100,我第一次演示第一个打印的是1,然后其他的是100,第二次运行全是100!
-
Qyouu
第二段代码会打印出99个100. 第一个会基本乱序打出 1到99。 看看closure 就会知道了。
-
慕雪6442864
有什么不同??为什么?
-
跃然一笑
楼主你的问题都问了有2遍了啊,上次,有详细的回复了啊