Windows 7, Intel Core i3, a 64 bit, RAM da 4 GB, 2,27 GHz
.NET Framework 4.0Perché tanta differenza di prestazioni tra Thread e Task?
Ho il seguente codice:
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();
}
Se uso Task l'uscita è sempre meno di 0,01 secondi, ma se utilizzo Thread l'output è sempre maggiore di 40 secondi!
Com'è possibile? Perché tanta differenza?
Si comincia 4096 le discussioni, le altre code 4096 compiti in una coda .. non sta misurando qualcosa di diverso da quello. Inutile .. –