0
我想比較使用Task
而不是以下示例中的性能差異。我知道這些任務已經成功執行,因爲我可以在停止第二個計時器之前利用它們的結果。主線程上的基準測試任務
我想知道爲什麼我的最後一個例子寫0
MS:
private Task<List<ACTION>> GetActions()
{
return Task.Factory.StartNew(() =>
{
using (var context = new DbContext())
{
return context.ACTION.ToList();
}
});
}
- 因爲你的第二個樣本中啓動sw1
以及
var sw1 = new Stopwatch();
sw1.Start();
var sync1 = context.ACTION.ToList();
var sync2 = context.ACTION.ToList();
sw1.Stop();
Debug.WriteLine(sw1.ElapsedMilliseconds); //4XX MS
var sw2 = new Stopwatch();
sw1.Start();
var t1 = GetActions();
var t2 = GetActions();
var tasks = new Task[] { t1, t2 };
Task.WaitAll(tasks);
sw2.Stop();
Debug.WriteLine(sw2.ElapsedMilliseconds); //0 MS
* facepalm *,那當你累了的時候會發生什麼。謝謝 :) – Johan