Jetzt werden wir mehrere Beispiele durchführen, um das Verständnis der Parallel foreach -Schleife in der C# -Programmiersprache zu klären und zu erhöhen.
Beispiel 01: Hinzufügen von Zahlen zu einer Liste mit der Parallel foreach -Schleife in Ubuntu 20 Hinzufügen.04
In diesem Beispiel werden wir ein C# -Programm schreiben, um eine Liste mithilfe der Parallel foreach -Schleife Zahlen hinzuzufügen und die Anzahl der Threads gleichzeitig für jeden Schritt zugeordnet zu markieren. Wir müssen verschiedene Bibliotheken wie die Threading -Aufgabe und den Link verwenden, um auf die Überwachung und Effizienz der Parallele für jede Schleife zuzugreifen. Wir werden dieses Beispiel im Ubuntu 20 durchführen.04 Umgebung.G
Im obigen Code haben wir eine Liste mit der Parallele für jede Schleife generiert, in der die Nummern mit Hilfe der Bereichsfunktion der Liste zugewiesen wurden. Anschließend haben wir die Thread -IDs in jedem Schritt auch gedruckt, um die Anzahl der verwendeten Threads zu überwachen, während die Liste der Liste zugewiesen wurde. Nachdem wir diese Programmdatei in unserem Befehlszeilenterminal ausgeführt haben, erhalten wir die folgende Ausgabe:
Die Ausgabe legt nahe, dass der Liste 5 Werte zugewiesen wurden, und während dieses Vorgangs wurden zwei Threads verwendet, was einen Zeitunterschied bei der Ausführung dieser Aufgabe erzeugt hat. Wenn wir ein einfaches sequentielles Foreach -Schleifen verwenden können, wäre die Aufgabe in einem einzigen Thread erledigt worden, und die Ausführung wäre größer als die Ausführungszeit der Parallel -Foreach -Schleife. Obwohl dies variieren würde, da es von der Größe der jeweiligen Aufgabe abhängt, da die parallele foreach -Schleife für die größere Größe der Aufgabe und Verarbeitung bequemer ist.
Beispiel 02: Steuerung der Anzahl der Threads mithilfe einer parallelen für die Eacherschleife in Ubuntu 20 steuern.04
In diesem Beispiel werden wir die Erstellung der Anzahl der Threads kontrollieren, wenn eine parallele Foreach -Schleife ausgeführt wird. Die Task -Threading -Bibliothek bietet uns Zugriff auf eine Immobilie mit dem Namen „maximaler Parallelität“, die die parallelen Operationen der parallelen Optionsklasse steuert und diese Eigenschaft einen Wert zugewiesen hat. Diese Eigenschaft wird durch ein Argument an die Parallele foreach -Schleife gesendet. Wir erstellen ein C# -Programm, um einer Liste Zahlen zuzuweisen und die Anzahl der Threads für die Ausführung dieser Aufgabe zu definieren.
Wie wir sehen können, dass die Gesamtzahl der bei der Ausführung dieser Aufgabe verwendeten Threads nur 2 betrug, da wir diese Nummer behoben haben, indem wir dem „maximalen Grad der Parallelität den Wert zuweisen.”Im Falle einer großen Datenverarbeitung können wir den Wert des maximalen Grads der Parallelität variieren. Dies hilft uns, die Verarbeitungsleistung gleich und effizient zwischen den Unterbereitungen oder parallelen Operationen zu unterteilen.
Beispiel 03: Druckliste mit String -Variablen mit der Parallel foreach -Schleife in einem C# -Programm in Ubuntu 20.04
In diesem Beispiel werden wir Elemente einer Liste mit String -Variablen drucken, indem wir die Parallel foreach -Schleife in einem C# -Programm im Ubuntu 20 verwenden.04 Umgebung. Wir werden zuerst eine Liste initialisieren und Werte manuell zuweisen und dann alle Elemente als Ausgabe mithilfe der Parallel foreach -Schleife drucken.
Im obigen Code haben wir eine Liste mit dem Namen Continents erstellt und Namen der Kontinente zur Liste hinzugefügt, bevor wir die Parallele für jede Schleife verwendet haben. Wir haben die Threading -Aufgabenbibliothek hinzugefügt, um die Parallel foreach -Schleife für unseren Code zu verwenden. Die parallel foreach -Methode nimmt in der Liste und eines neuen Objekts als Parameter zur Speicherung der Werte für jede Iteration ein. Nachdem wir diese Codedatei in unserem Befehlszeilenterminal ausgeführt haben, erhalten wir die Liste der Namen der Kontinente, die wir früher in unserer Liste gespeichert haben.
Beispiel 04: Vergleich der traditionellen für die LEACH -Schleife mit sequentiellem Parallel für die LEACH -Schleife in C# in Ubuntu 20.04
In diesem Beispiel werden wir die traditionelle Foreach -Schleife mit seiner sequentiellen Eigenschaft mit der parallelen Foreach -Schleife vergleichen, indem wir eine ähnliche Aufgabe mit beiden Schleifen erledigen. Die Ausführungszeit beider Schleifen wird aufgrund ihres unterschiedlichen Ansatzes für die Aufgabe unterschiedlich sein. Wir drucken den Inhalt der Liste, die vor dem Betrieb initialisiert werden.
Im obigen C# -Programm verwenden wir eine normale Foreach -Schleife und eine parallele Foreach -Schleife und berechnen die Zeit, die für die Ausführung der Aufgabe durch beide Schleifen benötigt wurde. Wir werden die Stoppuhrklasse aus der "Diagnostics" -Bibliothek der C# Programmiersprache verwenden. Die Stoppuhrklasse verfügt. Beide Funktionen wurden zugänglich gemacht, indem ein Objekt der Stoppuhrklasse erstellt wurde.
Die Ausgabe zeigt, dass die traditionelle Foreach -Schleife weniger Zeit brauchte, um die Aufgabe auszuführen, als die Parallel foreach -Schleife. Der Grund dafür ist, dass die Ausführung der Aufgabe am besten für einen einzelnen Thread-Betrieb geeignet ist und das Erstellen mehrerer Threads für diese Aufgabe zeitaufwändig wäre. Wenn die Liste jedoch Tausende von Daten enthalten wäre, wäre die Ausführungszeit umgekehrt umgekehrt Denn in diesem Szenario wäre die Aufgabe effizient und zeitsparend. Wenn wir also die Parallele forach -Schleife verwenden, müssen wir die Größe der für diesen Vorgang erforderlichen Verarbeitungsleistung beobachten und überlegen, welches die geeignete Schleife für diesen Vorgang ist.
Abschluss:
Wir haben die parallele Foreach -Schleife in der C# -Pergrammensprache besprochen. In diesem Artikel wurde die Bedeutung des Namens „parallel“ sowie die praktischen Unterschiede zwischen einer parallelen für deneach -Schleifen und einer Standard -Foreach -Schleife erörtert. Dann haben wir mehrere Beispiele für die Parallel foreach -Schleife im Ubuntu 20 implementiert.04 Umgebung, um mehr Klarheit zum Thema zu erfassen. Wir kamen zu dem Schluss, dass die Verwendung einer parallelen Foreach -Schleife während des Programmierens überwacht werden muss, da sie aufgrund seines Gewindemechanismus in beide Richtungen gehen kann. Die Aufgabe ist geteilt, was bei einer kleineren Aufgabe zeitaufwändig wäre.