Möglicherweise ist die Funktionsweise von Actions oder das Locking nicht jedem geläufig, also sollen hier die Änderungen erläutert werden.
Wie man sieht, ist nur wenig Aufwand nötig, um die bestehende for-Schleife für die Verwendung von Parallel.For() zu verändern. Bei Verwendung von .NET 4 kann dies direkt erfolgen, und man sieht ohne viel Aufwand eine Performance-Steigerung bei bestehenden und neuen Anwendungen.
Parallel.ForEach ist sogar noch einfacher. Hier ist der Original-Code, der eine Liste von Zahlen in Reihenfolge erstellt und dann auf den Bildschirm ausgibt:
Und hier ist eine parallel operierende Version:
Das ist wirklich unkompliziert.
Parallel.Invoke() ist anfangs vielleicht etwas verwirrend, aber in der Praxis ebenso einfach. Parallel.For und Parallel.ForEach werden verwendet, wenn genau derselbe Code mehrmals mit unterschiedlichen Input-Parametern aufgerufen werden soll. Parallel.Invoke ist praktischer, wenn unterschiedliche Codeteile gleichzeitig aufgerufen werden sollen. Sollen beispielsweise Daten von einer Netzwerkadresse gelesen, ein Web-Service aufgerufen und etwas auf dem Bildschirm ausgegeben werden soll, ist dies eine gute Methode, alles gleichzeitig zu erledigen und Zeit zu sparen. Hierzu wird einfach ein Array von Action-Objekten erstellt und dieser Array an Parallel.Invoke() übergeben:
Damit werden Daten von der URL heruntergeladen und gleichzeitig auf dem Bildschirm ausgegeben. Dies ist ein eher triviales Beispiel, doch macht es deutlich, wie nützlich die Methode für das tägliche Programmieren sein kann. Wiederum wird hier mit wenig Aufwand durch Packen des Codes in Action-Objekte eine paralleles Operieren erreicht. Nicht schlecht für wenige Minuten Arbeit.
Page: 1 2
Mehr Digitalisierung wird von den Unternehmen gefordert. Für KMU ist die Umsetzung jedoch nicht trivial,…
Der Nettoprofi wächst um 117 Prozent. Auch beim Umsatz erzielt die Facebook-Mutter ein deutliches Plus.…
Vom Standpunkt eines Verbrauchers aus betrachtet, stellt sich die Frage: Wie relevant und persönlich sind…
Scamio analysiert und bewertet die Gefahren und gibt Anwendern Ratschläge für den Umgang mit einer…
Seine Trainingsdaten umfassen 3,8 Milliarden Parameter. Laut Microsoft bietet es eine ähnliche Leistung wie OpenAIs…
Sie erlaubt eine Remotecodeausführung außerhalb der Sandbox. Betroffen sind Chrome für Windows, macOS und Linux.