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.

questionAnswers(3)

yourAnswerToTheQuestion