Dieses Mal stehe ich vor einem "Design" -Problem. Mit Python habe ich einen mathematischen Algorithmus implementiert, der 5 Parameter verwendet. Um die beste Kombination dieser 5 Parameter zu finden, habe ich eine 5-schichtige verschachtelte Schleife verwendet, um alle möglichen Kombinationen in einem gegebenen Bereich aufzuzählen. Die Zeit bis zum Ende schien über meinen Erwartungen zu sein. Also denke ich, es ist die Zeit, Multithreading zu verwenden ...
Die Aufgabe im Kern von Nested Loops ist das Berechnen und Speichern. Im aktuellen Code wird das Ergebnis jeder Berechnung an eine Liste angehängt und die Liste wird am Ende des Programms in eine Datei geschrieben.
Da ich nicht zu viel Erfahrung mit Multithreading in einer beliebigen Sprache habe, ganz zu schweigen von Python, möchte ich um einige Hinweise bitten, wie die Struktur für dieses Problem aussehen sollte. Wie sollten die Berechnungen den Threads dynamisch zugewiesen werden und wie sollten die Threads Ergebnisse speichern und später alle Ergebnisse in einer Datei zusammenfassen? Ich hoffe die Anzahl der Threads kann einstellbar sein.
Jede Illustration mit Code wird sehr hilfreich sein.
vielen Dank für Ihre Zeit, ich schätze es.
#
Aktualisierung des 2. Tages:
Danke für alle hilfreichen Antworten, jetzt weiß ich, dass es Multiprocessing statt Multithreading ist. Ich verwechsle mich immer mit diesen beiden Konzepten, weil ich denke, wenn es Multithread ist, wird das Betriebssystem automatisch mehrere Prozessoren verwenden, um es auszuführen, wenn es verfügbar ist.
Ich werde Zeit finden, um heute Nacht mit Multiprozessing zu arbeiten.