Параллелизм задач выполняется медленнее, чем обычно?

Я немного сбит с толку, потому что, когда я использую этот код:

catalog.Elements = GetElements(myProvider.Elements);
catalog.Programs = GetPrograms(myProvider.Programs);
catalog.Details = GetDetails(myProvider.Details);

у меня есть 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;

У меня 6 секунд.

Это нормально, что это быстрее, когда я не использую параллелизм задач?

Спасибо

0
задан PVitt 19 January 2012 в 08:04
поделиться