विंडोज 7, इंटेल कोर i3, 64 बिट, रैम 4GB, 2.27 गीगा
.नेट फ्रेमवर्क 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();
}
अगर मैं टास्क का उपयोग उत्पादन हमेशा होता है 0.01 सेकंड, लेकिन यदि मैं थ्रेड का उपयोग करता हूं तो आउटपुट हमेशा 40 सेकंड से अधिक होता है!
यह कैसे संभव है? इतना अंतर क्यों?
एक एक कतार .. आपको लगता है कि के अलावा और कुछ नहीं कर रहे हैं को मापने में 4096 सूत्र, अन्य कतारों 4096 कार्य शुरू होता है। प्वाइंटलेस .. –