none
Parallel.ForEach lokale Variablen RRS feed

  • Frage

  • Guten Morgen!

    Eigentlich gab es vor kurzem dazu erst einen Thread, der mich aber nicht so richtig weiter gebracht hat. Ich wollte mal etwas mit Parallel.ForEach experimentieren, da ich eine foreach-Schleife habe, in der ich für jedes Element etwas aus einer Datenbank hole, es entzippen und deserialisieren muss. Also dachte ich, ich könnte das mit wenigen Handgriffen parallelisieren. Mir fliegt aber folgender Teil wegen fehlender Threadsicherheit um die Ohren:

    using (MemoryStream outStream = new MemoryStream(dataUnzipped)) {
              outStream.Seek(0, 0);
              BinaryFormatter binFormatter = new BinaryFormatter();
              sMatrix = (TG.Produktion.Tests.FilterResult)binFormatter.Deserialize(outStream);
            }
    

    Ich bin davon ausgegangen, dass alles was ich innerhalt der Schleife instanziere keine Probleme macht. Jetzt habe ich erstmal die grundsätzlich Frage, ob ich das überhaupt mit diesem Ansatz lösen kann. Es gibt zwar von Parallel.ForEach eine überladene Variante und ein Beispiel mit einer threadlocal Variablen, aber ich bräuchte ja dann mehr als eine. Die Beispiele haben mich auch nicht weiter gebracht. Parallel etwas auf der Konsole auszugeben half mir nicht ;-).

    Gruß

    Michael

    Dienstag, 14. September 2010 05:36

Antworten

Alle Antworten