Для выравнивания задач в параллельных потоках используйте семафоры, события, мьютексы.Не измеряйте время, которое занимает задание.Потоки выполняются максимально случайно.Если вы выполняете 4 задачи в параллельных потоках, первые 2 могут завершиться даже раньше, чем начнутся вторые 2.Вот как правильно сделать это
void Thread1()
{
task1();
semaphore1.Release()
}
void Thread2()
{
task2();
semaphore1.WaitOne();
task3();
}
таким образом, задача 3 всегда будет выполняться после завершения задачи 1