Python-Multiprozessing, das sicher in eine Datei schreibt

Ich versuche mich zu lösen, eine große numerische problem, die umfasst eine Vielzahl von Teilproblemen, und ich bin mit Python-multiprocessing-Modul (speziell Pool.Karte) zum aufteilen von verschiedenen unabhängigen Teilprobleme auf verschiedenen Kernen. Jedes subproblem computing umfasst viele sub-Teilproblemen, und ich bin versucht zu effektiv memoize diese Ergebnisse durch Speicherung in einer Datei wenn Sie nicht nochmals berechnet, indem jeder Prozess noch, sonst überspringen Sie die Berechnung und Lesen Sie die Ergebnisse aus der Datei.

Bin ich mit concurrency-Probleme mit den Dateien: verschiedene Prozesse, manchmal zu überprüfen, um zu sehen, wenn ein sub-subproblem wurde berechnet, noch (durch die Suche nach der Datei, wo die Resultate gespeichert werden würde), sehen, dass es nicht, ausführen der Berechnung, dann versuchen Sie, schreiben Sie die Ergebnisse in die gleiche Datei zur gleichen Zeit. Wie kann ich vermeiden, schreiben Kollisionen wie diese?

InformationsquelleAutor der Frage Big Dogg | 2012-11-19

Schreibe einen Kommentar