Ich habe eine Liste von Dateien, die mit nur einem Befehl vorverarbeitet werden müssen, bevor sie zusammen mosaikiert werden. Dieser Vorverarbeitungsbefehl verwendet Software von Drittanbietern über Systemaufruf, um auf einen GeoTIFF zu schreiben. Ich wollte Multithreading verwenden, damit die einzelnen Dateien gleichzeitig vorverarbeitet werden können und nach der Verarbeitung aller einzelnen Dateien die Ergebnisse zusammen mosaikiert werden können.Einfachste Möglichkeit, Multithreading/parallele Verarbeitung in Python zu machen
Ich habe noch nie Multi-threading/parallele Verarbeitung verwendet, und nach stundenlanger Suche im Internet habe ich immer noch keine Ahnung, was der beste und einfachste Weg ist.
Im Grunde so etwas wie diese:
files_list = # list of .tif files that need to be mosaicked together but first, need to be individually pre-processed
for tif_file in files_list:
# kick the pre-processing step out to the system, but don't wait for it to finish before moving to preprocess the next tif_file
# wait for all tiffs in files_list to finish pre-processing
# then mosaick together
Wie kann ich das erreichen?
beschränkt? –
Warum sollte diese Aufgabe parallelisiert werden? Diese Dateien hintereinander zu machen, wäre definitiv viel schneller (abgesehen von einigen speziellen Fällen), weil Overhead Python für Multithreading benötigt wird. –
@PeterWood die Ausgabe des Vorverarbeitungsschritts sind geoTIFFs, die ich zusammen mosaikieren muss – user20408