Windows 7, Intel CORE i3, 64 бит, оперативная память 4 ГБ, 2,27 ГГц
.NET Framework 4.0
У меня есть следующий код:
static void Main(string[] args)
{
var timer = new Stopwatch();
timer.Start();
for (int i = 0; i < 0xFFF; ++i)
{
// I use one of the following line at time
Task.Factory.StartNew(() => { });
new Thread(() => { }).Start();
}
timer.Stop();
Console.WriteLine(timer.Elapsed.TotalSeconds);
Console.ReadLine();
}
Если я использую Task, вывод всегда меньше 0.01 секунд, но если я использую Thread, вывод всегда будет больше 40 секунд!
Как это возможно? Почему так много разницы?