Weiß jemand, wie man eine Erweiterungsfunktion schreibt, die eine ParallelQuery in PLINQ zurückgibt?
Genauer gesagt habe ich folgendes Problem: Ich möchte eine Umwandlung innerhalb einer PLINQ-Abfrage durchführen, die eine Engine benötigt, deren Erstellung kostspielig ist und auf die nicht gleichzeitig zugegriffen werden kann.
Ich könnte Folgendes tun:
%Vor%Hier wird die Engine einmal pro Artikel erstellt, was zu teuer ist.
Ich möchte, dass die Engine einmal pro Thread erstellt wird.
Mit Aggregate kann ich mit etwas wie
etwas erreichen, was ich möchte %Vor%Wie Sie sehen können, missbrauche ich den Akkumulator, um einen Motor pro Gewinde zu tragen. Das Problem hierbei ist, dass PLINQ am Ende die Ergebnisse in einem einzigen IEnumerable aggregiert, wodurch die Threads synchronisiert werden. Das ist nicht sehr schön, wenn ich später noch eine PLINQ-Erweiterung anhängen möchte.
Ich würde etwas wie
schätzen %Vor%Hat jemand eine Idee, wie man das erreicht?