我有点困惑,因为当我使用这段代码时:
catalog.Elements = GetElements(myProvider.Elements);
catalog.Programs = GetPrograms(myProvider.Programs);
catalog.Details = GetDetails(myProvider.Details);
Run Code Online (Sandbox Code Playgroud)
我有4秒钟.
当我尝试使用任务(.NET 4.0)时:
Task<List<Element>> elementsTask = Task.Factory.StartNew<List<Element>>(
delegate {
return GetElements(myProvider.Elements);
});
Task<List<Program>> programsTask = Task.Factory.StartNew<List<Program>>(
delegate {
return GetPrograms(myProvider.Programs);
});
Task<List<Detail>> detailsTask = Task.Factory.StartNew<List<Detail>>(
delegate {
return GetDetails(myProvider.Details);
});
catalog.Elements = elementsTask.Result;
catalog.Programs = programsTask.Result;
catalog.Details = detailsTask.Result;
Run Code Online (Sandbox Code Playgroud)
我得到6秒.
当我不使用任务并行性时,它是否更快是正常的?
谢谢