Рассмотрим код:
using System;
using System.Threading;
class ThreadTest
{
static void Main()
{
for(int i = 0; i < 10; i ++)
{
int tmp = i;
new Thread(() => Test(tmp)).Start();
}
}
static void Test(int i)
{
Console.WriteLine("=== Test " + i);
}
}
Фактический выход :
=== Test 0
=== Test 6
=== Test 3
=== Test 5
=== Test 8
=== Test 9
=== Test 2
=== Test 4
=== Test 7
=== Test 1
Мой исключенный вывод должен выглядеть следующим образом:
=== Test 0
=== Test 1
=== Test 2
=== Test 3
=== Test 4
=== Test 5
=== Test 6
=== Test 7
=== Test 8
=== Test 9
Таким образом, как вы можете видеть выше, результат превосходит мои ожидания; что я должен изменить код, чтобы он работал так, как я его исключал?Я очень смущен ...