小编ahi*_*kaz的帖子

任务并行性比正常执行慢?

我有点困惑,因为当我使用这段代码时:

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秒.

当我不使用任务并行性时,它是否更快是正常的?

谢谢

.net c# task c#-4.0

0
推荐指数
1
解决办法
508
查看次数

标签 统计

.net ×1

c# ×1

c#-4.0 ×1

task ×1