В PLINQ, в чем разница между .AsSequential() и .AsOdered()?

Кажется, я не могу окунуться в голову, какая разница между AsSequential и AsOrdered. Я искал документацию по msdn для каждого из них, а также искал в Интернете примеры, но я просто простой сапожник для обуви, и я не смог окончательно понять, что происходит. Если возможно, может кто-нибудь объяснить, когда вы будете использовать AsSequential vs AsOrdered, и, если необходимо, объясните, как результаты будут отличаться?

Ответы

Ответ 1

AsOrdered указывает, что механизм Parallel LINQ сохраняет порядок, но параллельно выполняет запрос. Это приводит к препятствию производительности, так как двигатель должен тщательно объединять результаты после параллельного выполнения.

AsSequential инструктирует механизм Parallel LINQ выполнять запрос последовательно, то есть не параллельно.