Wieloprocesowość Pythona i wspólny licznik
Mam problemy z modułem wieloprocesorowym. Używam puli pracowników z metodą mapowania do ładowania danych z wielu plików, a dla każdego z nich analizuję dane za pomocą funkcji niestandardowej. Za każdym razem, gdy plik jest przetwarzany, chciałbym zaktualizować licznik, aby móc śledzić, ile plików pozostało do przetworzenia. Oto przykładowy kod:
def analyze_data( args ):
# do something
counter += 1
print counter
if __name__ == '__main__':
list_of_files = os.listdir(some_directory)
global counter
counter = 0
p = Pool()
p.map(analyze_data, list_of_files)
Nie mogę znaleźć rozwiązania tego problemu.